
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Removing unreachable block (ram,0x0009dd10) */
/* WARNING: Removing unreachable block (ram,0x0009dd19) */
/* WARNING: Removing unreachable block (ram,0x0009dd60) */
/* WARNING: Removing unreachable block (ram,0x0009f070) */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void relocate_section(Target_sparc<32,_true> * this,
   Relocate_info<32,_true> * 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_484c35::Target_sparc<32,_true>::relocate_section
          (Target_sparc<32,_true> *this,Relocate_info<32,_true> *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)

{
  _func_int_varargs **pp_Var1;
  _func_int_varargs *p_Var2;
  Symbol_table *pSVar3;
  code *pcVar4;
  Sized_relobj_file<32,_true> *pSVar5;
  int iVar6;
  pointer pSVar7;
  pointer ppOVar8;
  pointer ppSVar9;
  pointer pcVar10;
  size_type sVar11;
  undefined1 *puVar12;
  bool bVar13;
  byte bVar14;
  char cVar15;
  uint uVar16;
  Got_offset_list *pGVar17;
  Output_data_plt_sparc<32,_true> *pOVar18;
  undefined4 uVar19;
  int iVar20;
  Address AVar21;
  Value VVar22;
  int iVar23;
  uint uVar24;
  Relobj *pRVar25;
  undefined4 uVar26;
  char *pcVar27;
  byte bVar28;
  Symbol_table *pSVar29;
  undefined4 extraout_ECX;
  Symbol_table *extraout_ECX_00;
  byte bVar30;
  Got_offset_list *pGVar31;
  Symbol_table *pSVar32;
  undefined4 *puVar33;
  undefined4 *puVar34;
  byte *pbVar35;
  byte *pbVar36;
  byte *pbVar37;
  undefined **ppuVar38;
  bool bVar39;
  bool bVar40;
  byte bVar41;
  size_t asStack_114 [5];
  uint local_100;
  undefined1 auStack_ec [12];
  Symbol_table *local_e0;
  Symbol_table *local_dc;
  uint local_d8;
  char local_d1;
  Symbol_value<32> *local_d0;
  Sized_relobj_file<32,_true> *local_cc;
  int local_c8;
  uint local_c4;
  int local_c0;
  Symbol_value<32> *local_bc;
  uint local_b8;
  size_t local_b4;
  Symbol_value<32> *local_b0;
  uint local_ac;
  int local_a8;
  Sized_relobj_file<32,_true> *local_a4;
  uchar *local_a0;
  Symbol_value<32> *local_9c;
  int local_98;
  undefined **local_94;
  Symbol_table *local_90;
  bool is_ordinary;
  Elf_Addr value;
  uint key_symndx;
  Rela<32,_true> rela;
  Relocate relocate;
  Symbol_value<32> symval;
  Symbol_value<32> symval2;
  Symbol_value<32> symval_1;
  bool found;
  undefined1 local_2c [28];
  
  bVar41 = 0;
  local_94 = &_GLOBAL_OFFSET_TABLE_;
  local_d1 = needs_special_offset_handling;
  if (sh_type != 4) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/sparc.cc",0x10a1,"relocate_section");
  }
  local_cc = relinfo->object;
  pp_Var1 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object;
  p_Var2 = pp_Var1[0x23];
  if (p_Var2 == gold::Relobj::local_symbol_count) {
                    /* try { // try from 0009cc27 to 0009cc2c has its CatchHandler @ 0009f51d */
    local_d8 = (*pp_Var1[0x2f])(local_cc);
  }
  else {
                    /* try { // try from 0009f0c1 to 0009f0c2 has its CatchHandler @ 0009f51d */
    local_d8 = (*p_Var2)(local_cc);
  }
  puVar34 = (undefined4 *)auStack_ec;
  local_c0 = 0;
  local_b4 = 0;
  local_dc = (Symbol_table *)(local_94 + 0x1f2);
  local_e0 = (Symbol_table *)(local_94 + 0x1f2);
  if (reloc_count != 0) {
    do {
      uVar16 = *(uint *)prelocs;
      local_c4 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18
      ;
      if (local_d1 == '\0') {
LAB_0009cc8a:
        uVar16 = *(uint *)(prelocs + 4);
        symval.output_symtab_index_ = 0;
        symval.output_dynsym_index_ = 0xffffffff;
        uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18
        ;
        symval._8_4_ = 0x80000000;
        local_a0 = (uchar *)(uVar16 >> 8);
        symval.u_.value = 0;
        if (local_a0 < local_d8) {
          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&
             (local_90 = (Symbol_table *)
                         (reloc_symbol_changes->vec_).
                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) {
LAB_0009ccec:
            uVar24 = local_90->output_count_;
            uVar16 = uVar24 - 1;
            if (0xfffffffd < uVar16) goto LAB_0009cd01;
LAB_0009e020:
            if (uVar16 == 0xfffffffd) {
              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;
              *(undefined4 *)((int)puVar34 + -0xc) = 0x70d;
              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */
              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f318;
              gold::do_gold_unreachable
                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),
                         *(char **)((int)puVar34 + -8));
            }
            symval.output_symtab_index_ = uVar24;
            goto LAB_0009cd08;
          }
          pSVar7 = (local_cc->local_values_).
                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>
                   ._M_impl._M_start;
          local_90 = (Symbol_table *)
                     (local_cc->local_values_).
                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>
                     ._M_impl._M_finish;
          if ((uint)((int)local_90 - (int)pSVar7 >> 4) <= local_a0) {
            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x6509a;
            *(undefined4 *)((int)puVar34 + -0xc) = 0x8c1;
            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f282;
            gold::do_gold_unreachable
                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),
                       *(char **)((int)puVar34 + -8));
          }
          local_9c = pSVar7 + (int)local_a0;
          local_a4 = (Sized_relobj_file<32,_true> *)(*(uint *)&local_9c->field_0x8 & 0x7ffffff);
          if (((local_9c->field_0xb & 8) != 0) && (local_a4 != (Sized_relobj_file<32,_true> *)0x0))
          {
            local_90 = (Symbol_table *)
                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.
                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                       ._M_impl._M_finish;
            ppOVar8 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.
                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                      ._M_impl._M_start;
            if ((Sized_relobj_file<32,_true> *)((int)local_90 - (int)ppOVar8 >> 2) <= local_a4) {
              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -4) = local_cc;
              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x64eff;
              *(undefined4 *)((int)puVar34 + -0xc) = 0x50b;
              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */
              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f42b;
              gold::do_gold_unreachable
                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),
                         *(char **)((int)puVar34 + -8));
            }
            local_90 = (Symbol_table *)ppOVar8[(int)local_a4];
            if (local_90 != (Symbol_table *)0x0) {
              local_90 = (Symbol_table *)0x0;
              local_bc = &symval;
              goto LAB_0009cd80;
            }
            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -8) = local_a4;
            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;
            *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;
                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */
            *(undefined4 *)((int)puVar34 + -0x14) = 0x9e2da;
            bVar13 = gold::Symbol_table::is_section_folded
                               (*(Symbol_table **)((int)puVar34 + -0x10),
                                *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8));
            if (bVar13) {
              local_bc = &symval;
              uVar16 = *(uint *)(prelocs + 4) >> 0x18;
              goto LAB_0009cd80;
            }
            goto LAB_0009d9f1;
          }
          local_90 = (Symbol_table *)0x0;
          local_bc = &symval;
LAB_0009cd80:
          symval2.output_symtab_index_ = 0;
          symval2.output_dynsym_index_ = 0xffffffff;
          symval2._8_4_ = 0x80000000;
          symval2.u_.value = 0;
          local_d0 = &symval2;
          puVar33 = puVar34;
        }
        else {
          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&
             (local_90 = (Symbol_table *)
                         (reloc_symbol_changes->vec_).
                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) goto LAB_0009ccec;
          if (local_a0 < local_cc->local_symbol_count_) {
LAB_0009f240:
            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650d7;
            *(undefined4 *)((int)puVar34 + -0xc) = 0x17f;
            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cb27;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */
            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f261;
            gold::do_gold_unreachable
                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),
                       *(char **)((int)puVar34 + -8));
          }
          uVar16 = (int)local_a0 - local_cc->local_symbol_count_;
          ppSVar9 = (local_cc->symbols_).
                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                    _M_start;
          local_90 = (Symbol_table *)
                     (local_cc->symbols_).
                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                     _M_finish;
          if ((uint)((int)local_90 - (int)ppSVar9 >> 2) <= uVar16) {
            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x65096;
            *(undefined4 *)((int)puVar34 + -0xc) = 0x8ad;
            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f2a3;
            gold::do_gold_unreachable
                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),
                       *(char **)((int)puVar34 + -8));
          }
          local_90 = (Symbol_table *)ppSVar9[uVar16];
          if (local_90 == (Symbol_table *)0x0) goto LAB_0009f240;
          if (((local_90->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0009ccec;
          *(Symbol_table **)((int)puVar34 + -0xc) = local_90;
          *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;
                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */
          *(undefined4 *)((int)puVar34 + -0x14) = 0x9e0cb;
          local_90 = (Symbol_table *)
                     gold::Symbol_table::resolve_forwards
                               (*(Symbol_table **)((int)puVar34 + -0x10),
                                *(Symbol **)((int)puVar34 + -0xc));
          uVar24 = local_90->output_count_;
          uVar16 = uVar24 - 1;
          if (uVar16 < 0xfffffffe) {
            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {
              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;
              *(undefined4 *)((int)puVar34 + -0xc) = 0x70c;
              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */
              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f155;
              gold::do_gold_unreachable
                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),
                         *(char **)((int)puVar34 + -8));
            }
            goto LAB_0009e020;
          }
          if (symval.output_symtab_index_ != 0) {
            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650e4;
            *(undefined4 *)((int)puVar34 + -0xc) = 0x716;
            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
            *(undefined **)((int)puVar34 + -0x14) = &UNK_0009e10f;
            gold::do_gold_unreachable
                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),
                       *(char **)((int)puVar34 + -8));
          }
LAB_0009cd01:
          symval.output_symtab_index_ = 0xffffffff;
LAB_0009cd08:
          symval.u_ = (anon_union_4_2_6a937475_for_u_)(local_90->table_)._M_h._M_element_count;
          bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count & 0xf;
          if (bVar30 == 6) {
            symval._8_4_ = symval._8_4_ | 0x20000000;
          }
          else if (bVar30 == 10) {
            symval._8_4_ = symval._8_4_ | 0x40000000;
          }
          bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);
          if (-1 < (char)bVar30) {
LAB_0009d9b8:
            local_bc = &symval;
            local_9c = &symval;
            uVar16 = *(uint *)(prelocs + 4) >> 0x18;
            goto LAB_0009cd80;
          }
          uVar16 = (local_90->table_)._M_h._M_bucket_count;
          if ((uVar16 & 0x70000) == 0) {
            if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                   *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||
               ((bVar30 & 0x20) == 0)) {
              local_bc = &symval;
              local_9c = &symval;
              uVar16 = *(uint *)(prelocs + 4) >> 0x18;
              goto LAB_0009cd80;
            }
          }
          else if ((uVar16 & 0x70000) != 0x40000) goto LAB_0009d9b8;
          local_a4 = (Sized_relobj_file<32,_true> *)0x0;
          local_9c = &symval;
LAB_0009d9f1:
          local_bc = &symval;
          local_b0 = &symval_1;
          symval2.output_symtab_index_ = 0;
          pp_Var1 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object;
          *(uint *)((int)puVar34 + -8) = relinfo->data_shndx;
          *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;
          local_d0 = &symval2;
          symval2.output_dynsym_index_ = 0xffffffff;
          symval2._8_4_ = 0x80000000;
          symval2.u_.value = 0;
          *(Symbol_value<32> **)((int)puVar34 + -0x10) = local_b0;
          p_Var2 = pp_Var1[0x10];
          *(undefined4 *)((int)puVar34 + -0x14) = 0x9da35;
          (*p_Var2)();
          bVar13 = false;
          bVar40 = local_c0 == 0;
          if (bVar40) {
            iVar20 = 6;
            pbVar36 = (byte *)symval_1.output_symtab_index_;
            pbVar35 = (byte *)((int)local_94 + -0x19cac3);
            do {
              if (iVar20 == 0) break;
              iVar20 = iVar20 + -1;
              bVar13 = *pbVar36 < *pbVar35;
              bVar40 = *pbVar36 == *pbVar35;
              pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;
              pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;
            } while (bVar40);
            bVar39 = false;
            bVar13 = (!bVar13 && !bVar40) == bVar13;
            if (!bVar13) {
              iVar20 = 7;
              pbVar36 = (byte *)symval_1.output_symtab_index_;
              ppuVar38 = local_94 + -0x672af;
              do {
                if (iVar20 == 0) break;
                iVar20 = iVar20 + -1;
                bVar39 = *pbVar36 < *(byte *)ppuVar38;
                bVar13 = *pbVar36 == *(byte *)ppuVar38;
                pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;
                ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);
              } while (bVar13);
              bVar40 = false;
              bVar13 = (!bVar39 && !bVar13) == bVar39;
              if (!bVar13) {
                iVar20 = 0x11;
                pbVar36 = (byte *)symval_1.output_symtab_index_;
                ppuVar38 = local_94 + -0x672ad;
                do {
                  if (iVar20 == 0) break;
                  iVar20 = iVar20 + -1;
                  bVar40 = *pbVar36 < *(byte *)ppuVar38;
                  bVar13 = *pbVar36 == *(byte *)ppuVar38;
                  pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;
                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);
                } while (bVar13);
                bVar39 = false;
                bVar13 = (!bVar40 && !bVar13) == bVar40;
                if (!bVar13) {
                  iVar20 = 5;
                  pbVar36 = (byte *)symval_1.output_symtab_index_;
                  pbVar35 = (byte *)((int)local_94 + -0x19caa2);
                  do {
                    if (iVar20 == 0) break;
                    iVar20 = iVar20 + -1;
                    bVar39 = *pbVar36 < *pbVar35;
                    bVar13 = *pbVar36 == *pbVar35;
                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;
                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;
                  } while (bVar13);
                  bVar40 = false;
                  bVar13 = (!bVar39 && !bVar13) == bVar39;
                  if (!bVar13) {
                    iVar20 = 5;
                    pbVar36 = (byte *)symval_1.output_symtab_index_;
                    ppuVar38 = local_94 + -0x672a7;
                    do {
                      if (iVar20 == 0) break;
                      iVar20 = iVar20 + -1;
                      bVar40 = *pbVar36 < *(byte *)ppuVar38;
                      bVar13 = *pbVar36 == *(byte *)ppuVar38;
                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;
                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);
                    } while (bVar13);
                    bVar39 = false;
                    bVar13 = (!bVar40 && !bVar13) == bVar40;
                    if (!bVar13) {
                      iVar20 = 4;
                      pbVar36 = (byte *)symval_1.output_symtab_index_;
                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);
                      do {
                        if (iVar20 == 0) break;
                        iVar20 = iVar20 + -1;
                        bVar39 = *pbVar36 < *pbVar35;
                        bVar13 = *pbVar36 == *pbVar35;
                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;
                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;
                      } while (bVar13);
                      bVar40 = false;
                      bVar13 = (!bVar39 && !bVar13) == bVar39;
                      if (!bVar13) {
                        iVar20 = 10;
                        pbVar36 = (byte *)symval_1.output_symtab_index_;
                        pbVar35 = (byte *)((int)local_94 + -0x19a212);
                        do {
                          if (iVar20 == 0) break;
                          iVar20 = iVar20 + -1;
                          bVar40 = *pbVar36 < *pbVar35;
                          bVar13 = *pbVar36 == *pbVar35;
                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;
                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;
                        } while (bVar13);
                        bVar39 = false;
                        bVar13 = (!bVar40 && !bVar13) == bVar40;
                        if (!bVar13) {
                          iVar20 = 0x12;
                          pbVar36 = (byte *)symval_1.output_symtab_index_;
                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);
                          do {
                            if (iVar20 == 0) break;
                            iVar20 = iVar20 + -1;
                            bVar39 = *pbVar36 < *pbVar35;
                            bVar13 = *pbVar36 == *pbVar35;
                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;
                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;
                          } while (bVar13);
                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;
                        }
                        goto LAB_0009dc9a;
                      }
                    }
                  }
                }
              }
            }
LAB_0009da6c:
            *(bool **)((int)puVar34 + -8) = &found;
            *(Symbol_value<32> **)((int)puVar34 + -0xc) = local_b0;
            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x10) = local_a4;
            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = local_cc;
                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */
            *(undefined4 *)((int)puVar34 + -0x18) = 0x9da8d;
            AVar21 = gold::Sized_relobj_file<32,_true>::map_to_kept_section
                               (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),
                                *(uint *)((int)puVar34 + -0x10),*(string **)((int)puVar34 + -0xc),
                                *(bool **)((int)puVar34 + -8));
            symval2.u_ = (anon_union_4_2_6a937475_for_u_)0x0;
            if (found != false) {
              symval2.u_.merged_symbol_value =
                   (Merged_symbol_value<32> *)
                   ((int)&((local_9c->u_).merged_symbol_value)->input_value_ + AVar21);
            }
            local_c0 = 1;
          }
          else {
            if (local_c0 == 1) goto LAB_0009da6c;
            if (local_c0 == 3) {
LAB_0009dbca:
              pSVar5 = relinfo->object;
              if (local_90 == (Symbol_table *)0x0) {
                *(uchar **)((int)puVar34 + -0x10) = local_a0;
                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;
                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e225;
                pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name
                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),
                                     *(uint *)((int)puVar34 + -0x10));
                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671fa;
                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e23d;
                uVar26 = gettext();
                *(uchar **)((int)puVar34 + -0xc) = local_a0;
                *(char **)((int)puVar34 + -0x10) = pcVar27;
                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;
                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;
                *(uint *)((int)puVar34 + -0x1c) = local_c4;
                *(size_t *)((int)puVar34 + -0x20) = local_b4;
                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;
                *(undefined4 *)((int)puVar34 + -0x28) = 0x9e265;
                gold::gold_error_at_location<32,_true>
                          (*(gold **)((int)puVar34 + -0x24),
                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),
                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),
                           *(char **)((int)puVar34 + -0x10));
              }
              else {
                *(Symbol_table **)((int)puVar34 + -0x10) = local_90;
                *(bool **)((int)puVar34 + -0x14) = &found;
                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6;
                gold::Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));
                puVar12 = _found;
                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4;
                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d;
                uVar26 = gettext();
                *(undefined1 **)((int)puVar34 + -0x10) = puVar12;
                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;
                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;
                *(uint *)((int)puVar34 + -0x1c) = local_c4;
                *(size_t *)((int)puVar34 + -0x20) = local_b4;
                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;
                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */
                *(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30;
                gold::gold_error_at_location<32,_true>
                          (*(gold **)((int)puVar34 + -0x24),
                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),
                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),
                           *(char **)((int)puVar34 + -0x10));
                if (_found != local_2c) {
                  *(undefined1 **)((int)puVar34 + -0x14) = _found;
                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;
                  operator_delete(*(void **)((int)puVar34 + -0x14));
                }
              }
              *(bool **)((int)puVar34 + -8) = &is_ordinary;
              *(Elf_Addr **)((int)puVar34 + -0xc) = &value;
              *(uchar **)((int)puVar34 + -0x10) = local_a0;
              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;
                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */
              *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc63;
              uVar16 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value
                                 (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),
                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)
                                  ,*(bool **)((int)puVar34 + -8));
              if (uVar16 != 0) {
                *(uint **)((int)puVar34 + -0xc) = &key_symndx;
                *(uint *)((int)puVar34 + -0x10) = uVar16;
                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;
                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */
                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e18c;
                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object
                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),
                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)
                                    );
                if (key_symndx != 0) {
                  *(uint *)((int)puVar34 + -0x10) = key_symndx;
                  *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;
                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */
                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;
                  pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name
                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),
                                       *(uint *)((int)puVar34 + -0x10));
                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;
                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;
                  uVar26 = gettext();
                  *(char **)((int)puVar34 + -0x10) = pcVar27;
                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;
                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;
                  gold::gold_info(*(char **)((int)puVar34 + -0x14));
                }
                if (pRVar25 != (Relobj *)0x0) {
                  pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;
                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;
                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;
                  uVar26 = gettext();
                  *(pointer *)((int)puVar34 + -0x10) = pcVar10;
                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;
                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;
                  gold::gold_info(*(char **)((int)puVar34 + -0x14));
                }
              }
              local_c0 = 3;
            }
            else {
LAB_0009dc9a:
              local_c0 = 2;
            }
            symval2.u_.value = 0;
          }
          puVar33 = (undefined4 *)((int)puVar34 + -4);
          if (symval2.output_symtab_index_ != 0) {
            *(undefined ***)((int)puVar34 + -0xc) = local_94 + -0x650e4;
            *(undefined4 *)((int)puVar34 + -0x10) = 0x716;
            *(int *)((int)puVar34 + -0x14) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */
            *(undefined1 **)((int)puVar34 + -0x18) = &LAB_0009f212;
            gold::do_gold_unreachable
                      (*(char **)((int)puVar34 + -0x14),*(int *)((int)puVar34 + -0x10),
                       *(char **)((int)puVar34 + -0xc));
          }
          symval2.output_symtab_index_ = 0xffffffff;
          if ((undefined1 *)symval_1.output_symtab_index_ != &symval_1.field_0x8) {
            *(uint *)((int)puVar34 + -0x14) = symval_1.output_symtab_index_;
            *(undefined4 *)((int)puVar34 + -0x18) = 0x9dadb;
            operator_delete(*(void **)((int)puVar34 + -0x14));
          }
          local_d0 = &symval2;
          local_9c = &symval2;
          uVar16 = *(uint *)(prelocs + 4) >> 0x18;
        }
        local_b8 = uVar16 & 0xff;
        bVar30 = (byte)local_9c->field_0xb >> 6 & 1;
        if (((int)local_c4 < 0) || (view_size <= local_c4)) {
          local_a0 = (uchar *)0x0;
          rela.p_ = (Rela_data<32> *)prelocs;
LAB_0009dcd4:
          rela.p_ = (Rela_data<32> *)prelocs;
          puVar33[-4] = (int)local_94 + -0x19ca7f;
          puVar33[-5] = 0x9dceb;
          uVar26 = gettext();
          puVar33[-3] = local_c4;
          puVar33[-4] = uVar26;
          puVar33[-5] = (int)local_c4 >> 0x1f;
          puVar33[-6] = local_c4;
          puVar33[-7] = local_b4;
          puVar33[-8] = relinfo;
                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */
          puVar33[-9] = 0x9dd08;
          gold::gold_error_at_location<32,_true>
                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],
                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);
        }
        else {
          local_a0 = view + local_c4;
          rela.p_ = (Rela_data<32> *)prelocs;
          if (local_a0 == (uchar *)0x0) goto LAB_0009dcd4;
          if (local_a0 == (uchar *)0x0) {
            local_a0 = (uchar *)0xfffffffc;
          }
          symval_1.output_symtab_index_ = 0;
          symval_1.output_dynsym_index_ = 0xffffffff;
          local_a4 = relinfo->object;
          symval_1._8_4_ = 0x80000000;
          symval_1.u_.value = 0;
          if (local_90 == (Symbol_table *)0x0) {
            if (bVar30 == 0) {
              uVar16 = *(uint *)(prelocs + 8);
              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |
                         uVar16 << 0x18;
              local_a8 = (int)local_ac >> 0x1f;
              if (0xc < local_b8) {
                if (local_b8 < 0x10) {
                  local_b0 = &symval_1;
                  goto LAB_0009d56d;
                }
                if (local_b8 - 0x52 < 3) {
                  local_b0 = &symval_1;
                  goto LAB_0009ddfa;
                }
                local_b0 = &symval_1;
                goto LAB_0009d200;
              }
LAB_0009d1f2:
              local_b0 = &symval_1;
            }
            else {
              uVar16 = *(uint *)(prelocs + 4);
              local_ac = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;
              puVar33[-3] = local_ac;
              puVar33[-4] = local_a4;
              local_b0 = &symval_1;
                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */
              puVar33[-5] = 0x9dda9;
              bVar13 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset
                                 ((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3]);
              if (bVar13) {
                iVar20 = (int)(this->sparc_info).default_text_segment_address;
                if (iVar20 == 0) {
                  local_b0 = &symval_1;
                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */
                  puVar33[-1] = 0x9f3a6;
                  plt_section((Target_sparc<32,_true> *)*puVar33);
                  pSVar29 = extraout_ECX_00;
                  goto LAB_0009f3a6;
                }
                if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {
                  puVar33[-1] = extraout_ECX;
                  puVar33[-2] = local_94 + -0x64eef;
                  puVar33[-3] = 0xc5;
                  puVar33[-4] = (int)local_94 + -0x19cca3;
                  local_b0 = &symval_1;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */
                  puVar33[-5] = 0x9f3ed;
                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);
                }
                iVar6 = *(int *)(iVar20 + 0x34);
                local_b0 = &symval_1;
                iVar20 = *(int *)(iVar20 + 4);
                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.
                          _vptr_Object;
                puVar33[-3] = local_ac;
                puVar33[-4] = local_a4;
                p_Var2 = pp_Var1[0x2a];
                puVar33[-5] = 0x9de86;
                iVar23 = (*p_Var2)();
                symval_1.u_.merged_symbol_value =
                     (Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23);
                local_b0 = &symval_1;
                local_9c = &symval_1;
              }
              else {
                local_b0 = &symval_1;
              }
              uVar16 = (rela.p_)->r_addend;
              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |
                         uVar16 << 0x18;
              local_a8 = (int)local_ac >> 0x1f;
              if (local_b8 < 0xd) goto LAB_0009d200;
              if (local_b8 < 0x10) {
LAB_0009d56d:
                uVar16 = (rela.p_)->r_info;
                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.
                          _vptr_Object;
                uVar16 = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;
                puVar33[-4] = 0;
                puVar33[-5] = 0;
                puVar33[-6] = 0;
                puVar33[-7] = uVar16;
                puVar33[-8] = local_a4;
                p_Var2 = pp_Var1[0x2b];
                puVar33[-9] = 0x9d58e;
                iVar20 = (*p_Var2)();
                if ((char)iVar20 == '\0') {
                  puVar33[-2] = local_94 + -0x650e7;
                  puVar33[-3] = 0xd2c;
                  puVar33[-4] = (int)local_94 + -0x196252;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */
                  puVar33[-5] = 0x9f357;
                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);
                }
                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.
                          _vptr_Object;
                puVar33[-4] = 0;
                puVar33[-5] = 0;
                puVar33[-6] = 0;
                puVar33[-7] = uVar16;
                puVar33[-8] = local_a4;
                p_Var2 = pp_Var1[0x2c];
                puVar33[-9] = 0x9d5b2;
                (*p_Var2)();
                goto LAB_0009d200;
              }
              if (2 < local_b8 - 0x52) goto LAB_0009d200;
LAB_0009ddfa:
              puVar33[-2] = local_ac;
              puVar33[-3] = local_a4;
              puVar33[-4] = local_9c;
              puVar33[-5] = 0x9de14;
              VVar22 = gold::Symbol_value<32>::value<true>
                                 ((Symbol_value<32> *)puVar33[-4],
                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);
              pcVar27 = (this->sparc_info).dynamic_linker;
              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {
                puVar33[-1] = VVar22;
                puVar33[-2] = local_94 + -0x64eef;
                puVar33[-3] = 0xc5;
                puVar33[-4] = (int)local_94 + -0x19cca3;
                    /* WARNING: Subroutine does not return */
                puVar33[-5] = 0x9f40c;
                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);
              }
            }
          }
          else {
            uVar16 = 0;
            if (local_b8 - 1 < 0x58) {
              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));
            }
            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {
LAB_0009d17c:
              uVar16 = (rela.p_)->r_addend;
              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |
                         uVar16 << 0x18;
              local_a8 = (int)local_ac >> 0x1f;
              if (0xc < local_b8) {
                if (local_b8 < 0x10) {
                  local_b0 = &symval_1;
                  goto LAB_0009cfd0;
                }
                if (local_b8 - 0x52 < 3) {
                  local_b0 = &symval_1;
                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;
                  goto LAB_0009ddfa;
                }
                goto LAB_0009d1f2;
              }
              local_b0 = &symval_1;
            }
            else {
              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;
              local_ac._0_1_ = bVar14;
              if ((bVar14 & 0xf) != 10) {
                puVar33[-3] = uVar16;
                puVar33[-4] = local_90;
                local_b0 = &symval_1;
                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */
                puVar33[-5] = 0x9ce95;
                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);
                if (!bVar13) {
                  local_ac._0_1_ =
                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);
                  bVar14 = (byte)local_ac & 7;
                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;
                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)
                  goto LAB_0009d110;
LAB_0009cec6:
                  iVar20 = (int)(this->sparc_info).default_text_segment_address;
                  if (iVar20 != 0) {
                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;
                    local_9c = (Symbol_value<32> *)0x0;
                    local_98 = 0;
                    goto LAB_0009cefd;
                  }
LAB_0009d100:
                  local_b0 = &symval_1;
                  puVar33[-1] = 0x9d10e;
                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);
                  bVar14 = (byte)pOVar18;
LAB_0009d110:
                  ppuVar38 = local_94 + 0x1f2;
                  if (*(int *)(*ppuVar38 + 8) == 0) {
                    puVar33[-2] = local_94 + -0x64ebf;
                    puVar33[-3] = 0x5c;
                    puVar33[-4] = (int)local_94 + -0x1a1d93;
                    local_b0 = &symval_1;
                    /* WARNING: Subroutine does not return */
                    puVar33[-5] = 0x9f37a;
                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);
                  }
                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {
                    if (bVar14 == 0) {
                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)
                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)
                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))
                      goto LAB_0009cec6;
                    }
                    else if (bVar14 == 4) goto LAB_0009cec6;
                    puVar33[-4] = local_90;
                    local_b0 = &symval_1;
                    puVar33[-5] = 0x9d168;
                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);
                    if (bVar13) goto LAB_0009cec6;
                  }
                  uVar16 = uVar16 & 8;
                  if (uVar16 == 0) goto LAB_0009d17c;
                  sVar11 = (local_90->table_)._M_h._M_bucket_count;
                  if ((sVar11 & 0x70000) == 0) {
                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)
                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)
                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))
                    goto LAB_0009d17c;
                    uVar16 = 0;
                  }
                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;
                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;
                  if (((byte)local_ac >> 4 == 2) ||
                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))
                  goto LAB_0009cec6;
                  if (*(int *)(*ppuVar38 + 8) == 0) {
                    puVar33[-1] = ppuVar38;
                    puVar33[-2] = local_94 + -0x64ebf;
                    puVar33[-3] = 0x5c;
                    puVar33[-4] = (int)local_94 + -0x1a1d93;
                    local_b0 = &symval_1;
                    /* WARNING: Subroutine does not return */
                    puVar33[-5] = &LAB_0009f4c3;
                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);
                  }
                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;
                }
                goto LAB_0009d17c;
              }
              iVar20 = (int)(this->sparc_info).default_text_segment_address;
              if (iVar20 == 0) goto LAB_0009d100;
LAB_0009d0aa:
              puVar33[-3] = 0;
              puVar33[-4] = local_90;
              local_b0 = &symval_1;
              puVar33[-5] = 0x9d0c3;
              bVar13 = gold::Symbol::can_use_relative_reloc
                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));
              local_9c = (Symbol_value<32> *)0x0;
              local_98 = 0;
              if (bVar13) {
                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);
                local_98 = (int)local_9c >> 0x1f;
              }
LAB_0009cefd:
              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {
                puVar33[-2] = local_94 + -0x64eef;
                puVar33[-3] = 0xc5;
                puVar33[-4] = (int)local_94 + -0x19cca3;
                local_b0 = &symval_1;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */
                puVar33[-5] = 0x9f2cd;
                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);
              }
              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {
                puVar33[-2] = local_94 + -0x64fb3;
                puVar33[-3] = 0x1ce;
                puVar33[-4] = local_94 + -0x67308;
                local_b0 = &symval_1;
                    /* WARNING: Subroutine does not return */
                puVar33[-5] = 0x9f2f7;
                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);
              }
              symval_1.u_.merged_symbol_value =
                   (Merged_symbol_value<32> *)
                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +
                   *(int *)(iVar20 + 4));
              uVar16 = (rela.p_)->r_addend;
              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |
                         uVar16 << 0x18;
              local_a8 = (int)local_ac >> 0x1f;
              if (local_b8 < 0xd) {
                local_b0 = &symval_1;
                local_9c = local_b0;
                goto LAB_0009d200;
              }
              if (local_b8 < 0x10) {
                local_b0 = &symval_1;
                local_9c = &symval_1;
                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;
              }
              else {
                local_b0 = &symval_1;
                local_9c = &symval_1;
                if (2 < local_b8 - 0x52) goto LAB_0009d200;
LAB_0009cf73:
                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);
                local_c8 = CONCAT31(local_c8._1_3_,bVar14);
                if ((bVar14 & 7) == 0) {
                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {
                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)
                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->
                                  shndx;
                    puVar33[-5] = 0x9d01f;
                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);
                    if (!bVar13) {
                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)
                      goto LAB_0009cfae;
                      goto LAB_0009cf9f;
                    }
                  }
                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)
                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)
                  {
LAB_0009cf9f:
                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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_0009cfae;
                  }
                }
                else if ((bVar14 & 7) != 4) {
LAB_0009cfae:
                  puVar33[-4] = local_90;
                  puVar33[-5] = 0x9cfbc;
                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);
                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;
                }
              }
LAB_0009cfd0:
              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;
              pGVar31 = pGVar17;
              while (pGVar31->got_type_ != 0) {
                pGVar31 = pGVar31->got_next_;
                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;
              }
              if (pGVar31->got_offset_ == 0xffffffff) {
LAB_0009cfed:
                puVar33[-2] = local_94 + -0x650e7;
                puVar33[-3] = 0xd26;
                puVar33[-4] = (int)local_94 + -0x196252;
                    /* WARNING: Subroutine does not return */
                puVar33[-5] = &UNK_0009d00e;
                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);
              }
              while (pGVar17->got_type_ != 0) {
                pGVar17 = pGVar17->got_next_;
                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;
              }
              if (pGVar17->got_offset_ == 0xffffffff) {
LAB_0009d069:
                puVar33[-2] = local_94 + -0x64f5d;
                puVar33[-3] = 0x1b7;
                puVar33[-4] = local_94 + -0x67308;
                    /* WARNING: Subroutine does not return */
                puVar33[-5] = &UNK_0009d08a;
                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);
              }
            }
          }
LAB_0009d200:
          local_c8 = local_c4 + address;
          if (local_b8 < 0xfc) {
                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();
            return;
          }
          puVar33[-4] = local_94 + -0x672b6;
          puVar33[-5] = 0x9e3bf;
          uVar26 = gettext();
          uVar16 = (rela.p_)->r_offset;
          puVar33[-3] = local_b8;
          puVar33[-4] = uVar26;
          puVar33[-5] = 0;
          puVar33[-6] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |
                        uVar16 << 0x18;
          puVar33[-7] = local_b4;
          puVar33[-8] = relinfo;
          puVar33[-9] = 0x9e3e3;
          gold::gold_error_at_location<32,_true>
                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],
                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);
          puVar33[-4] = local_b0;
          puVar33[-5] = 0x9d286;
          gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);
          if (local_90 != (Symbol_table *)0x0) {
            bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);
            bVar14 = bVar30 & 7;
            pSVar32 = local_90;
            if ((bVar30 & 7) == 0) {
              if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||
                 (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {
                pSVar29 = *(Symbol_table **)&local_90->offset_;
                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);
                pSVar3 = (Symbol_table *)
                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];
                if (pSVar3 != pSVar32) {
                  puVar33[-4] = pSVar29;
                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */
                  puVar33[-5] = 0x9d736;
                  iVar20 = (*(code *)pSVar3)();
                  if (iVar20 != 0) {
                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);
                    bVar14 = bVar30 & 7;
                    if ((bVar30 & 7) == 0) {
                      if (((anon_union_4_3_b582a2bd_for_u2_ *)
                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)
                      {
                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);
                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;
                      }
                      else {
                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);
                      }
                      if ((char)bVar28 < '\0') goto LAB_0009d900;
                    }
                    else {
                      if (bVar14 == 4) goto LAB_0009d63d;
                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <
                          '\0') goto LAB_0009d6b0;
                    }
                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);
                    goto LAB_0009d779;
                  }
                  goto LAB_0009d970;
                }
LAB_0009d2df:
                bVar30 = bVar30 & 7;
                bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);
                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);
                bVar14 = bVar28 & 3;
                if ((bVar28 & 3) == 0) goto LAB_0009d380;
LAB_0009d2fb:
                if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&
                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {
                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;
                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);
                  bVar28 = bVar28 >> 4;
                  pSVar29 = (Symbol_table *)(uint)bVar28;
                  if ((bVar28 != 2) &&
                     (pSVar29 = local_90,
                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))
                  goto LAB_0009d701;
                }
LAB_0009d312:
                if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {
LAB_0009d321:
                  if (bVar14 == 2) {
                    puVar33[-4] = (int)local_94 + -0x19ca5d;
                    puVar33[-5] = 0x9e2b5;
                    uVar26 = gettext();
                  }
                  else if (bVar14 < 3) {
                    if (bVar14 != 1) {
LAB_0009f3a6:
                      puVar33[-1] = pSVar29;
                      puVar33[-2] = local_94 + -0x64fbc;
                      puVar33[-3] = 0xa4;
                      puVar33[-4] = (int)local_94 + -0x19cb27;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */
                      puVar33[-5] = 0x9f3c5;
                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])
                      ;
                    }
                    puVar33[-4] = (int)local_94 + -0x19ca66;
                    puVar33[-5] = 0x9d99d;
                    uVar26 = gettext();
                  }
                  else {
                    puVar33[-4] = (int)local_94 + -0x19ca56;
                    puVar33[-5] = 0x9d344;
                    uVar26 = gettext();
                  }
                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;
                  puVar33[-4] = local_94 + -0x67173;
                  puVar33[-5] = 0x9d368;
                  uVar19 = gettext();
                  puVar33[-2] = pp_Var1;
                  puVar33[-3] = uVar26;
                  puVar33[-4] = uVar19;
                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */
                  puVar33[-5] = 0x9d379;
                  gold::gold_error((char *)puVar33[-4]);
                }
                goto LAB_0009d380;
              }
LAB_0009d63d:
              bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;
              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);
              if ((bVar28 >> 4 == 2) ||
                 (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)) {
LAB_0009d970:
                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);
                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);
                bVar14 = bVar14 & 3;
LAB_0009d943:
                if (bVar14 == 0) goto LAB_0009d380;
                bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);
                pSVar29 = (Symbol_table *)(uint)bVar30;
                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);
                bVar30 = bVar30 & 7;
                if (bVar30 != 0) goto LAB_0009d6cc;
                goto LAB_0009d2fb;
              }
              pSVar32 = (Symbol_table *)(local_94 + 0x1f2);
              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];
              if (p_Var2 == (_func_int_varargs *)0x0) {
                puVar33[-1] = 0;
                puVar33[-2] = local_94 + -0x64ebf;
                puVar33[-3] = 0x5c;
                puVar33[-4] = (int)local_94 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */
                puVar33[-5] = 0x9f447;
                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);
              }
              if (p_Var2[0x49b1] != (_func_int_varargs)0x0) goto LAB_0009d970;
              if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) < '\0') {
                if (bVar14 != 0) goto LAB_0009d6b0;
                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);
LAB_0009d900:
                pSVar29 = (Symbol_table *)
                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;
                pSVar3 = (Symbol_table *)
                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];
                if (pSVar3 == pSVar32) goto LAB_0009d2df;
                puVar33[-4] = pSVar29;
                puVar33[-5] = 0x9d91c;
                iVar20 = (*(code *)pSVar3)();
                pSVar32 = local_e0;
                if (iVar20 != 0) goto LAB_0009d779;
LAB_0009d930:
                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);
                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);
                bVar14 = bVar14 & 3;
                goto LAB_0009d943;
              }
LAB_0009d779:
              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3];
              if (p_Var2 == (_func_int_varargs *)0x0) {
                puVar33[-2] = local_94 + -0x64fb7;
                puVar33[-3] = 0x69;
                puVar33[-4] = (int)local_94 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */
                puVar33[-5] = 0x9f336;
                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);
              }
              iVar20 = *(int *)p_Var2;
              puVar33[-3] = local_90;
              puVar33[-4] = p_Var2;
              pcVar4 = *(code **)(iVar20 + 0x1c);
              puVar33[-5] = 0x9d795;
              cVar15 = (*pcVar4)();
              if (cVar15 != '\0') goto LAB_0009d930;
              pSVar32 = (Symbol_table *)
                        ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];
              if (pSVar32 == (Symbol_table *)0x0) {
                puVar33[-2] = local_94 + -0x64ebf;
                puVar33[-3] = 0x5c;
                puVar33[-4] = (int)local_94 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */
                puVar33[-5] = 0x9f398;
                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);
              }
              pbVar36 = (byte *)(pSVar32 + 0x2e)[1].output_count_;
              bVar13 = false;
              bVar40 = pbVar36 == (byte *)0x0;
              if (bVar40) {
                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);
                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);
                bVar14 = bVar14 & 3;
LAB_0009d85a:
                if ((bVar14 == 2) ||
                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||
                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))
                goto LAB_0009d874;
                goto LAB_0009d943;
              }
              iVar20 = 0xb;
              pbVar35 = pbVar36;
              pbVar37 = (byte *)((int)local_94 + -0x1a1fa6);
              do {
                if (iVar20 == 0) break;
                iVar20 = iVar20 + -1;
                bVar13 = *pbVar35 < *pbVar37;
                bVar40 = *pbVar35 == *pbVar37;
                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;
                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;
              } while (bVar40);
              bVar39 = false;
              bVar13 = (!bVar13 && !bVar40) == bVar13;
              if (bVar13) goto LAB_0009d930;
              iVar20 = 0xb;
              pbVar35 = pbVar36;
              pbVar37 = (byte *)((int)local_94 + -0x1a1f9b);
              do {
                if (iVar20 == 0) break;
                iVar20 = iVar20 + -1;
                bVar39 = *pbVar35 < *pbVar37;
                bVar13 = *pbVar35 == *pbVar37;
                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;
                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;
              } while (bVar13);
              bVar40 = false;
              bVar13 = (!bVar39 && !bVar13) == bVar39;
              if (!bVar13) {
                iVar20 = 0x17;
                pbVar35 = pbVar36;
                ppuVar38 = local_94 + -0x687e4;
                do {
                  if (iVar20 == 0) break;
                  iVar20 = iVar20 + -1;
                  bVar40 = *pbVar35 < *(byte *)ppuVar38;
                  bVar13 = *pbVar35 == *(byte *)ppuVar38;
                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;
                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);
                } while (bVar13);
                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);
                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);
                bVar14 = bVar14 & 3;
                bVar13 = (!bVar40 && !bVar13) == bVar40;
                if ((!bVar13) ||
                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)) {
                  bVar40 = false;
                  iVar20 = 0x16;
                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);
                  do {
                    if (iVar20 == 0) break;
                    iVar20 = iVar20 + -1;
                    bVar40 = *pbVar36 < *pbVar35;
                    bVar13 = *pbVar36 == *pbVar35;
                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;
                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;
                  } while (bVar13);
                  if (((!bVar40 && !bVar13) != bVar40) ||
                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <
                      '\0')) goto LAB_0009d85a;
                }
                goto LAB_0009d943;
              }
LAB_0009d874:
              puVar33[-4] = (int)local_c4 >> 0x1f;
              puVar33[-5] = local_c4;
              puVar33[-6] = local_b4;
              puVar33[-7] = relinfo;
              puVar33[-8] = local_90;
              puVar33[-9] = 0x9d89a;
              gold::gold_undefined_symbol_at_location<32,_true>
                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],
                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)
                        );
              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);
            }
            else {
              if (bVar14 == 4) goto LAB_0009d63d;
LAB_0009d6b0:
              bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);
              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);
              bVar14 = bVar28 & 3;
              if ((bVar28 & 3) != 0) {
                bVar30 = bVar30 & 7;
LAB_0009d6cc:
                if (bVar30 == 4) {
                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;
                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);
                  if ((bVar30 >> 4 == 2) ||
                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))
                  goto LAB_0009d380;
LAB_0009d701:
                  pSVar29 = (Symbol_table *)
                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];
                  if (pSVar29 == (Symbol_table *)0x0) {
                    puVar33[-1] = pSVar32;
                    puVar33[-2] = local_94 + -0x64ebf;
                    puVar33[-3] = 0x5c;
                    puVar33[-4] = (int)local_94 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */
                    puVar33[-5] = &UNK_0009f171;
                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);
                  }
                  if (*(undefined1 *)
                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.
                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;
                  if (bVar30 == 0) goto LAB_0009d312;
                }
              }
LAB_0009d380:
              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);
            }
            if ((bVar30 & 4) != 0) {
              puVar33[-3] = (int)local_c4 >> 0x1f;
              puVar33[-4] = local_c4;
              puVar33[-5] = local_b4;
              pSVar29 = relinfo->symtab;
              puVar33[-6] = relinfo;
              puVar33[-7] = local_90;
              local_90 = pSVar29;
              puVar33[-8] = &pSVar29->warnings_;
              puVar33[-9] = 0x9d8e4;
              gold::Warnings::issue_warning<32,_true>
                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],
                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)
                        );
            }
          }
        }
        puVar33[-4] = local_d0;
        puVar33[-5] = 0x9d39e;
        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);
        puVar33[-4] = local_bc;
        puVar33[-5] = 0x9d3aa;
        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);
        puVar34 = puVar33;
      }
      else {
        *(uint *)((int)puVar34 + -4) = local_c4;
        *(uint *)((int)puVar34 + -8) = relinfo->data_shndx;
        *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = relinfo->object;
        *(Output_section **)((int)puVar34 + -0x10) = output_section;
                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */
        *(undefined4 *)((int)puVar34 + -0x14) = 0x9dff8;
        local_c4 = gold::Output_section::output_offset
                             (*(Output_section **)((int)puVar34 + -0x10),
                              *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8),
                              *(section_offset_type *)((int)puVar34 + -4));
        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;
      }
      local_b4 = local_b4 + 1;
      prelocs = prelocs + 0xc;
    } while (reloc_count != local_b4);
  }
  return;
}



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

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

{
  code *pcVar1;
  undefined **ppuVar2;
  undefined *puVar3;
  int *piVar4;
  int iVar5;
  undefined1 *puVar6;
  char cVar7;
  code cVar8;
  uint uVar9;
  undefined4 uVar10;
  int iVar11;
  int iVar12;
  byte *pbVar13;
  undefined4 uVar14;
  undefined4 uVar15;
  byte bVar16;
  undefined **ppuVar17;
  undefined4 extraout_ECX;
  undefined **extraout_ECX_00;
  byte bVar18;
  code cVar19;
  undefined **ppuVar20;
  byte *pbVar21;
  undefined1 *puVar22;
  undefined1 *puVar23;
  byte bVar24;
  byte *pbVar25;
  bool bVar26;
  bool bVar27;
  bool bVar28;
  byte bVar29;
  undefined1 auStack_ec [12];
  undefined **local_e0;
  undefined **local_dc;
  uint local_d8;
  char local_d1;
  byte **local_d0;
  int *local_cc;
  int local_c8;
  uint local_c4;
  int local_c0;
  byte **local_bc;
  uint local_b8;
  int local_b4;
  byte **local_b0;
  uint local_ac;
  int local_a8;
  int *local_a4;
  uint local_a0;
  byte **local_9c;
  int local_98;
  undefined **local_94;
  undefined **local_90;
  undefined1 local_81;
  undefined1 local_80 [4];
  int local_7c;
  uint *local_78;
  char local_74;
  int local_70;
  byte *local_6c;
  undefined4 local_68;
  uint local_64;
  undefined *local_60;
  byte *local_5c;
  undefined4 local_58;
  undefined4 local_54;
  byte *local_50;
  byte *local_4c;
  undefined4 local_48;
  undefined4 local_44;
  undefined *local_40;
  undefined1 *local_34 [2];
  undefined1 local_2c [28];
  
  bVar29 = 0;
  local_94 = &__DT_PLTGOT;
  local_d1 = param_7;
  if (param_3 != 4) {
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/sparc.cc",0x10a1,"relocate_section");
  }
  local_74 = '\0';
  local_70 = 0;
  local_cc = (int *)param_2[2];
  pcVar1 = *(code **)(*local_cc + 0x8c);
  if (pcVar1 == FUN_00070d40) {
                    /* try { // try from 0009cc27 to 0009cc2c has its CatchHandler @ 0009f51d */
    local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc);
  }
  else {
                    /* try { // try from 0009f0c1 to 0009f0c2 has its CatchHandler @ 0009f51d */
    local_d8 = (*pcVar1)(local_cc);
  }
  puVar22 = auStack_ec;
  local_c0 = 0;
  local_b4 = 0;
  local_e0 = local_94 + 0x1f2;
  puVar6 = auStack_ec;
  local_dc = local_e0;
  if (param_5 != 0) {
    do {
      puVar22 = puVar6;
      uVar9 = *param_4;
      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;
      if (local_d1 == '\0') {
LAB_0009cc8a:
        uVar9 = param_4[1];
        local_6c = (byte *)0x0;
        local_68 = 0xffffffff;
        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;
        local_64 = 0x80000000;
        local_a0 = uVar9 >> 8;
        local_60 = (undefined *)0x0;
        if (local_a0 < local_d8) {
          if ((param_11 != (int *)0x0) &&
             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))
          {
LAB_0009ccec:
            pbVar13 = local_90[4];
            pbVar21 = pbVar13 + -1;
            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;
LAB_0009e020:
            if (pbVar21 == (byte *)0xfffffffd) {
              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;
              *(undefined4 *)(puVar22 + -0xc) = 0x70d;
              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */
              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;
              FUN_002446e0();
            }
            goto LAB_0009cd08;
          }
          local_90 = (undefined **)local_cc[0x38];
          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {
            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;
            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;
            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;
            FUN_002446e0();
          }
          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);
          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);
          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {
            local_90 = (undefined **)local_cc[0xf];
            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {
              *(int **)(puVar22 + -4) = local_cc;
              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;
              *(undefined4 *)(puVar22 + -0xc) = 0x50b;
              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */
              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;
              FUN_002446e0();
            }
            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);
            if (local_90 != (undefined **)0x0) {
              local_90 = (undefined **)0x0;
              goto LAB_0009cd80;
            }
            *(int **)(puVar22 + -8) = local_a4;
            *(int **)(puVar22 + -0xc) = local_cc;
            *(undefined4 *)(puVar22 + -0x10) = *param_2;
                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */
            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;
            cVar7 = FUN_0034cd20();
            if (cVar7 != '\0') {
              uVar9 = param_4[1] >> 0x18;
              goto LAB_0009cd80;
            }
            goto LAB_0009d9f1;
          }
          local_90 = (undefined **)0x0;
LAB_0009cd80:
          local_bc = &local_6c;
          local_5c = (byte *)0x0;
          local_58 = 0xffffffff;
          local_54 = 0x80000000;
          local_50 = (byte *)0x0;
        }
        else {
          if ((param_11 != (int *)0x0) &&
             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))
          goto LAB_0009ccec;
          if (local_a0 < (uint)local_cc[0x2c]) {
LAB_0009f240:
            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;
            *(undefined4 *)(puVar22 + -0xc) = 0x17f;
            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */
            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;
            FUN_002446e0();
          }
          uVar9 = local_a0 - local_cc[0x2c];
          local_90 = (undefined **)local_cc[0x30];
          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {
            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;
            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;
            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;
            FUN_002446e0();
          }
          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);
          if (local_90 == (undefined **)0x0) goto LAB_0009f240;
          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;
          *(undefined ***)(puVar22 + -0xc) = local_90;
          *(undefined4 *)(puVar22 + -0x10) = *param_2;
                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */
          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;
          local_90 = (undefined **)FUN_0034cd90();
          pbVar13 = local_90[4];
          pbVar21 = pbVar13 + -1;
          if (pbVar21 < (byte *)0xfffffffe) {
            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {
              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;
              *(undefined4 *)(puVar22 + -0xc) = 0x70c;
              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */
              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;
              FUN_002446e0();
            }
            goto LAB_0009e020;
          }
          if (local_6c != (byte *)0x0) {
            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;
            *(undefined4 *)(puVar22 + -0xc) = 0x716;
            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;
            FUN_002446e0();
          }
LAB_0009cd01:
          local_6c = (byte *)0xffffffff;
          pbVar13 = local_6c;
LAB_0009cd08:
          local_6c = pbVar13;
          local_60 = local_90[0xc];
          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {
            local_64 = local_64 | 0x20000000;
          }
          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {
            local_64 = local_64 | 0x40000000;
          }
          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {
LAB_0009d9b8:
            local_9c = &local_6c;
            uVar9 = param_4[1] >> 0x18;
            goto LAB_0009cd80;
          }
          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {
            if ((local_90[3] != (undefined *)0x0) ||
               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {
              local_9c = &local_6c;
              uVar9 = param_4[1] >> 0x18;
              goto LAB_0009cd80;
            }
          }
          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;
          local_a4 = (int *)0x0;
          local_9c = &local_6c;
LAB_0009d9f1:
          local_bc = &local_6c;
          local_b0 = &local_4c;
          local_5c = (byte *)0x0;
          iVar11 = *local_cc;
          *(undefined4 *)(puVar22 + -8) = param_2[6];
          *(int **)(puVar22 + -0xc) = local_cc;
          local_d0 = &local_5c;
          local_58 = 0xffffffff;
          local_54 = 0x80000000;
          local_50 = (byte *)0x0;
          *(byte ***)(puVar22 + -0x10) = local_b0;
          pcVar1 = *(code **)(iVar11 + 0x40);
          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;
          (*pcVar1)();
          puVar23 = puVar22 + -4;
          bVar26 = false;
          bVar28 = local_c0 == 0;
          if (bVar28) {
            iVar11 = 6;
            pbVar21 = local_4c;
            pbVar13 = (byte *)((int)local_94 + -0x19cac3);
            do {
              if (iVar11 == 0) break;
              iVar11 = iVar11 + -1;
              bVar26 = *pbVar21 < *pbVar13;
              bVar28 = *pbVar21 == *pbVar13;
              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;
              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;
            } while (bVar28);
            bVar27 = false;
            bVar26 = (!bVar26 && !bVar28) == bVar26;
            if (!bVar26) {
              iVar11 = 7;
              pbVar21 = local_4c;
              ppuVar17 = local_94 + -0x672af;
              do {
                if (iVar11 == 0) break;
                iVar11 = iVar11 + -1;
                bVar27 = *pbVar21 < *(byte *)ppuVar17;
                bVar26 = *pbVar21 == *(byte *)ppuVar17;
                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;
                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);
              } while (bVar26);
              bVar28 = false;
              bVar26 = (!bVar27 && !bVar26) == bVar27;
              if (!bVar26) {
                iVar11 = 0x11;
                pbVar21 = local_4c;
                ppuVar17 = local_94 + -0x672ad;
                do {
                  if (iVar11 == 0) break;
                  iVar11 = iVar11 + -1;
                  bVar28 = *pbVar21 < *(byte *)ppuVar17;
                  bVar26 = *pbVar21 == *(byte *)ppuVar17;
                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;
                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);
                } while (bVar26);
                bVar27 = false;
                bVar26 = (!bVar28 && !bVar26) == bVar28;
                if (!bVar26) {
                  iVar11 = 5;
                  pbVar21 = local_4c;
                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);
                  do {
                    if (iVar11 == 0) break;
                    iVar11 = iVar11 + -1;
                    bVar27 = *pbVar21 < *pbVar13;
                    bVar26 = *pbVar21 == *pbVar13;
                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;
                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;
                  } while (bVar26);
                  bVar28 = false;
                  bVar26 = (!bVar27 && !bVar26) == bVar27;
                  if (!bVar26) {
                    iVar11 = 5;
                    pbVar21 = local_4c;
                    ppuVar17 = local_94 + -0x672a7;
                    do {
                      if (iVar11 == 0) break;
                      iVar11 = iVar11 + -1;
                      bVar28 = *pbVar21 < *(byte *)ppuVar17;
                      bVar26 = *pbVar21 == *(byte *)ppuVar17;
                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;
                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);
                    } while (bVar26);
                    bVar27 = false;
                    bVar26 = (!bVar28 && !bVar26) == bVar28;
                    if (!bVar26) {
                      iVar11 = 4;
                      pbVar21 = local_4c;
                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);
                      do {
                        if (iVar11 == 0) break;
                        iVar11 = iVar11 + -1;
                        bVar27 = *pbVar21 < *pbVar13;
                        bVar26 = *pbVar21 == *pbVar13;
                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;
                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;
                      } while (bVar26);
                      bVar28 = false;
                      bVar26 = (!bVar27 && !bVar26) == bVar27;
                      if (!bVar26) {
                        iVar11 = 10;
                        pbVar21 = local_4c;
                        pbVar13 = (byte *)((int)local_94 + -0x19a212);
                        do {
                          if (iVar11 == 0) break;
                          iVar11 = iVar11 + -1;
                          bVar28 = *pbVar21 < *pbVar13;
                          bVar26 = *pbVar21 == *pbVar13;
                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;
                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;
                        } while (bVar26);
                        bVar27 = false;
                        bVar26 = (!bVar28 && !bVar26) == bVar28;
                        if (!bVar26) {
                          iVar11 = 0x12;
                          pbVar21 = local_4c;
                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);
                          do {
                            if (iVar11 == 0) break;
                            iVar11 = iVar11 + -1;
                            bVar27 = *pbVar21 < *pbVar13;
                            bVar26 = *pbVar21 == *pbVar13;
                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;
                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;
                          } while (bVar26);
                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;
                        }
                        goto LAB_0009dc9a;
                      }
                    }
                  }
                }
              }
            }
LAB_0009da6c:
            *(undefined1 ***)(puVar22 + -8) = local_34;
            *(byte ***)(puVar22 + -0xc) = local_b0;
            *(int **)(puVar22 + -0x10) = local_a4;
            *(int **)(puVar22 + -0x14) = local_cc;
                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */
            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;
            iVar11 = FUN_00290ed0();
            local_50 = (byte *)0x0;
            if ((char)local_34[0] != '\0') {
              local_50 = local_9c[3] + iVar11;
            }
            local_c0 = 1;
            puVar22 = puVar22 + -4;
          }
          else {
            if (local_c0 == 1) goto LAB_0009da6c;
            if (local_c0 == 3) {
LAB_0009dbca:
              uVar15 = param_2[2];
              if (local_90 == (undefined **)0x0) {
                *(uint *)(puVar22 + -0x10) = local_a0;
                *(undefined4 *)(puVar22 + -0x14) = uVar15;
                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;
                uVar10 = FUN_00297920();
                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;
                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;
                uVar14 = gettext();
                *(uint *)(puVar22 + -0xc) = local_a0;
                *(undefined4 *)(puVar22 + -0x10) = uVar10;
                *(undefined4 *)(puVar22 + -0x14) = uVar14;
                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;
                *(uint *)(puVar22 + -0x1c) = local_c4;
                *(int *)(puVar22 + -0x20) = local_b4;
                *(undefined4 **)(puVar22 + -0x24) = param_2;
                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;
                FUN_0023be30();
                puVar23 = puVar22 + -4;
              }
              else {
                *(undefined ***)(puVar22 + -0x10) = local_90;
                *(undefined1 ***)(puVar22 + -0x14) = local_34;
                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;
                FUN_0034dd40();
                puVar6 = local_34[0];
                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;
                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;
                uVar10 = gettext();
                *(undefined1 **)(puVar22 + -0x14) = puVar6;
                *(undefined4 *)(puVar22 + -0x18) = uVar10;
                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;
                *(uint *)(puVar22 + -0x20) = local_c4;
                *(int *)(puVar22 + -0x24) = local_b4;
                *(undefined4 **)(puVar22 + -0x28) = param_2;
                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */
                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;
                FUN_0023be30();
                puVar23 = puVar22 + -8;
                if (local_34[0] != local_2c) {
                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];
                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;
                  FUN_003ae080();
                  puVar23 = puVar22 + -8;
                }
              }
              *(undefined1 **)(puVar23 + -4) = &local_81;
              *(undefined1 **)(puVar23 + -8) = local_80;
              *(uint *)(puVar23 + -0xc) = local_a0;
              *(undefined4 *)(puVar23 + -0x10) = uVar15;
                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */
              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;
              iVar11 = FUN_00296fa0();
              if (iVar11 != 0) {
                *(int **)(puVar23 + -8) = &local_7c;
                *(int *)(puVar23 + -0xc) = iVar11;
                *(undefined4 *)(puVar23 + -0x10) = uVar15;
                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */
                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;
                iVar11 = FUN_00291140();
                if (local_7c != 0) {
                  *(int *)(puVar23 + -0xc) = local_7c;
                  *(undefined4 *)(puVar23 + -0x10) = uVar15;
                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */
                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;
                  uVar15 = FUN_00297920();
                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;
                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;
                  uVar10 = gettext();
                  *(undefined4 *)(puVar23 + -0xc) = uVar15;
                  *(undefined4 *)(puVar23 + -0x10) = uVar10;
                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;
                  FUN_0023b870();
                }
                if (iVar11 != 0) {
                  uVar15 = *(undefined4 *)(iVar11 + 4);
                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;
                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;
                  uVar10 = gettext();
                  *(undefined4 *)(puVar23 + -0xc) = uVar15;
                  *(undefined4 *)(puVar23 + -0x10) = uVar10;
                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;
                  FUN_0023b870();
                }
              }
              local_c0 = 3;
            }
            else {
LAB_0009dc9a:
              local_c0 = 2;
            }
            local_50 = (byte *)0x0;
            puVar22 = puVar23;
          }
          if (local_5c != (byte *)0x0) {
            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;
            *(undefined4 *)(puVar22 + -0xc) = 0x716;
            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */
            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;
            FUN_002446e0();
          }
          local_5c = (byte *)0xffffffff;
          if (local_4c != (byte *)&local_44) {
            *(byte **)(puVar22 + -0x10) = local_4c;
            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;
            FUN_003ae080();
          }
          local_9c = &local_5c;
          uVar9 = param_4[1] >> 0x18;
        }
        local_d0 = &local_5c;
        local_b8 = uVar9 & 0xff;
        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;
        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {
          local_a0 = 0;
          local_78 = param_4;
          if (local_74 != '\0') goto LAB_0009dd10;
LAB_0009dcd4:
          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;
          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;
          uVar15 = gettext();
          *(uint *)(puVar22 + -0xc) = local_c4;
          *(undefined4 *)(puVar22 + -0x10) = uVar15;
          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;
          *(uint *)(puVar22 + -0x18) = local_c4;
          *(int *)(puVar22 + -0x1c) = local_b4;
          *(undefined4 **)(puVar22 + -0x20) = param_2;
                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */
          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;
          FUN_0023be30();
        }
        else {
          local_a0 = local_c4 + param_8;
          local_78 = param_4;
          if (local_74 == '\0') {
LAB_0009cdf2:
            if (local_a0 == 0) goto LAB_0009dcd4;
            if (local_70 == local_a0) {
              local_a0 = local_a0 + -4;
            }
            local_4c = (byte *)0x0;
            local_48 = 0xffffffff;
            local_a4 = (int *)param_2[2];
            local_44 = 0x80000000;
            local_40 = (undefined *)0x0;
            if (local_90 == (undefined **)0x0) {
              if (bVar24 == 0) {
                uVar9 = local_78[2];
                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                           uVar9 << 0x18;
                local_a8 = (int)local_ac >> 0x1f;
                if (local_b8 < 0xd) {
LAB_0009d1f2:
                  local_b0 = &local_4c;
                }
                else {
                  if (local_b8 < 0x10) goto LAB_0009d56d;
                  if (2 < local_b8 - 0x52) {
                    local_b0 = &local_4c;
                    goto LAB_0009d200;
                  }
                  local_b0 = &local_4c;
LAB_0009ddfa:
                  *(uint *)(puVar22 + -8) = local_ac;
                  *(int **)(puVar22 + -0xc) = local_a4;
                  *(byte ***)(puVar22 + -0x10) = local_9c;
                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;
                  uVar15 = FUN_000a90f0();
                  if ((*(int *)(param_1 + 0x14) != 0) &&
                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {
                    *(undefined4 *)(puVar22 + -4) = uVar15;
                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;
                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;
                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;
                    /* WARNING: Subroutine does not return */
                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;
                    FUN_002446e0();
                  }
                }
              }
              else {
                uVar9 = local_78[1];
                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;
                *(uint *)(puVar22 + -0xc) = local_ac;
                *(int **)(puVar22 + -0x10) = local_a4;
                local_b0 = &local_4c;
                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */
                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;
                cVar7 = FUN_00290e20();
                if (cVar7 != '\0') {
                  iVar11 = *(int *)(param_1 + 0x18);
                  if (iVar11 == 0) {
                    local_b0 = &local_4c;
                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */
                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;
                    FUN_00095ef0();
                    ppuVar17 = extraout_ECX_00;
                    goto LAB_0009f3a6;
                  }
                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {
                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;
                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;
                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;
                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;
                    local_b0 = &local_4c;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */
                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;
                    FUN_002446e0();
                  }
                  iVar5 = *(int *)(iVar11 + 0x34);
                  local_b0 = &local_4c;
                  iVar11 = *(int *)(iVar11 + 4);
                  iVar12 = *local_a4;
                  *(uint *)(puVar22 + -0xc) = local_ac;
                  *(int **)(puVar22 + -0x10) = local_a4;
                  pcVar1 = *(code **)(iVar12 + 0xa8);
                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;
                  iVar12 = (*pcVar1)();
                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);
                  local_9c = &local_4c;
                }
                local_b0 = &local_4c;
                uVar9 = local_78[2];
                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                           uVar9 << 0x18;
                local_a8 = (int)local_ac >> 0x1f;
                if (0xc < local_b8) {
                  if (local_b8 < 0x10) {
LAB_0009d56d:
                    local_b0 = &local_4c;
                    uVar9 = local_78[1];
                    iVar11 = *local_a4;
                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;
                    *(undefined4 *)(puVar22 + -0x10) = 0;
                    *(undefined4 *)(puVar22 + -0x14) = 0;
                    *(undefined4 *)(puVar22 + -0x18) = 0;
                    *(uint *)(puVar22 + -0x1c) = uVar9;
                    *(int **)(puVar22 + -0x20) = local_a4;
                    pcVar1 = *(code **)(iVar11 + 0xac);
                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;
                    cVar7 = (*pcVar1)();
                    if (cVar7 == '\0') {
                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;
                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;
                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */
                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;
                      FUN_002446e0();
                    }
                    iVar11 = *local_a4;
                    *(undefined4 *)(puVar22 + -0x10) = 0;
                    *(undefined4 *)(puVar22 + -0x14) = 0;
                    *(undefined4 *)(puVar22 + -0x18) = 0;
                    *(uint *)(puVar22 + -0x1c) = uVar9;
                    *(int **)(puVar22 + -0x20) = local_a4;
                    pcVar1 = *(code **)(iVar11 + 0xb0);
                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;
                    (*pcVar1)();
                    goto LAB_0009d200;
                  }
                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;
                }
LAB_0009d5e0:
                local_b0 = &local_4c;
              }
            }
            else {
              uVar9 = 0;
              if (local_b8 - 1 < 0x58) {
                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));
              }
              if (local_90[6] == (undefined *)0xffffffff) {
LAB_0009d17c:
                uVar9 = local_78[2];
                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                           uVar9 << 0x18;
                local_a8 = (int)local_ac >> 0x1f;
                if (0xc < local_b8) {
                  if (0xf < local_b8) {
                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;
                    local_b0 = &local_4c;
                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;
                    goto LAB_0009ddfa;
                  }
                  local_b0 = &local_4c;
                  goto LAB_0009cfd0;
                }
                local_b0 = &local_4c;
              }
              else {
                cVar19 = *(code *)(local_90 + 10);
                local_ac._0_1_ = cVar19;
                if (((byte)cVar19 & 0xf) != 10) {
                  local_b0 = &local_4c;
                  *(uint *)(puVar22 + -0xc) = uVar9;
                  *(undefined ***)(puVar22 + -0x10) = local_90;
                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */
                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;
                  cVar7 = FUN_00071bb0();
                  if (cVar7 == '\0') {
                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);
                    bVar18 = (byte)local_ac._0_1_ & 7;
                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;
                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;
LAB_0009cec6:
                    iVar11 = *(int *)(param_1 + 0x18);
                    if (iVar11 != 0) {
                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;
                      local_9c = (byte **)0x0;
                      local_98 = 0;
                      goto LAB_0009cefd;
                    }
LAB_0009d100:
                    local_b0 = &local_4c;
                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;
                    bVar18 = FUN_00095ef0();
LAB_0009d110:
                    ppuVar17 = local_94 + 0x1f2;
                    if (*(int *)(*ppuVar17 + 8) == 0) {
                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;
                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;
                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;
                      local_b0 = &local_4c;
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;
                      FUN_002446e0();
                    }
                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {
                      if (bVar18 == 0) {
                        if ((local_90[3] == (undefined *)0x0) &&
                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;
                      }
                      else if (bVar18 == 4) goto LAB_0009cec6;
                      *(undefined ***)(puVar22 + -0x10) = local_90;
                      local_b0 = &local_4c;
                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;
                      cVar7 = FUN_00071a80();
                      if (cVar7 != '\0') goto LAB_0009cec6;
                    }
                    uVar9 = uVar9 & 8;
                    if (uVar9 == 0) goto LAB_0009d17c;
                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {
                      if ((local_90[3] != (undefined *)0x0) ||
                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;
                      uVar9 = 0;
                    }
                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;
                    local_ac._0_1_ = *(code *)(local_90 + 10);
                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))
                    goto LAB_0009cec6;
                    if (*(int *)(*ppuVar17 + 8) == 0) {
                      *(undefined ***)(puVar22 + -4) = ppuVar17;
                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;
                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;
                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;
                      local_b0 = &local_4c;
                    /* WARNING: Subroutine does not return */
                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;
                      FUN_002446e0();
                    }
                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;
                  }
                  goto LAB_0009d17c;
                }
                iVar11 = *(int *)(param_1 + 0x18);
                if (iVar11 == 0) goto LAB_0009d100;
LAB_0009d0aa:
                local_b0 = &local_4c;
                *(undefined4 *)(puVar22 + -0xc) = 0;
                *(undefined ***)(puVar22 + -0x10) = local_90;
                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;
                cVar7 = FUN_00071de0();
                local_9c = (byte **)0x0;
                local_98 = 0;
                if (cVar7 != '\0') {
                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);
                  local_98 = (int)local_9c >> 0x1f;
                }
LAB_0009cefd:
                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {
                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;
                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;
                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;
                  local_b0 = &local_4c;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */
                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;
                  FUN_002446e0();
                }
                if (local_90[6] == (undefined *)0xffffffff) {
                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;
                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;
                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;
                  local_b0 = &local_4c;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;
                  FUN_002446e0();
                }
                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;
                uVar9 = local_78[2];
                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                           uVar9 << 0x18;
                local_a8 = (int)local_ac >> 0x1f;
                if (local_b8 < 0xd) {
                  local_b0 = &local_4c;
                  local_9c = local_b0;
                  goto LAB_0009d200;
                }
                if (local_b8 < 0x10) {
                  local_b0 = &local_4c;
                  local_9c = local_b0;
                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;
                }
                else {
                  local_9c = &local_4c;
                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;
LAB_0009cf73:
                  local_b0 = &local_4c;
                  cVar19 = *(code *)((int)local_90 + 0x2a);
                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);
                  if (((byte)cVar19 & 7) == 0) {
                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {
                      *(undefined **)(puVar22 + -0x10) = local_90[3];
                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;
                      cVar7 = FUN_0034c920();
                      if (cVar7 == '\0') {
                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;
                        goto LAB_0009cf9f;
                      }
                    }
                    else if (local_90[3] != (undefined *)0x0) {
LAB_0009cf9f:
                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;
                    }
                  }
                  else if (((byte)cVar19 & 7) != 4) {
LAB_0009cfae:
                    *(undefined ***)(puVar22 + -0x10) = local_90;
                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;
                    cVar7 = FUN_00071a80();
                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;
                  }
                }
LAB_0009cfd0:
                ppuVar17 = local_90 + 7;
                ppuVar20 = ppuVar17;
                while (*ppuVar20 != (undefined *)0x0) {
                  ppuVar20 = (undefined **)ppuVar20[2];
                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;
                }
                if (ppuVar20[1] == (undefined *)0xffffffff) {
LAB_0009cfed:
                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;
                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;
                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;
                  FUN_002446e0();
                }
                while (*ppuVar17 != (undefined *)0x0) {
                  ppuVar17 = (undefined **)ppuVar17[2];
                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;
                }
                if (ppuVar17[1] == (undefined *)0xffffffff) {
LAB_0009d069:
                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;
                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;
                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;
                    /* WARNING: Subroutine does not return */
                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;
                  FUN_002446e0();
                }
              }
            }
LAB_0009d200:
            local_c8 = local_c4 + param_9;
            if (local_b8 < 0xfc) {
                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */
                    /* WARNING: Treating indirect jump as call */
              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();
              return;
            }
            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;
            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;
            uVar15 = gettext();
            uVar9 = *local_78;
            *(uint *)(puVar22 + -0xc) = local_b8;
            *(undefined4 *)(puVar22 + -0x10) = uVar15;
            *(undefined4 *)(puVar22 + -0x14) = 0;
            *(uint *)(puVar22 + -0x18) =
                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;
            *(int *)(puVar22 + -0x1c) = local_b4;
            *(undefined4 **)(puVar22 + -0x20) = param_2;
            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;
            FUN_0023be30();
            *(byte ***)(puVar22 + -0x10) = local_b0;
            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;
            FUN_00072240();
            if (local_90 != (undefined **)0x0) {
              cVar19 = *(code *)((int)local_90 + 0x2a);
              bVar24 = (byte)cVar19 & 7;
              ppuVar20 = local_90;
              if (((byte)cVar19 & 7) == 0) {
                if ((local_90[3] != (undefined *)0x0) ||
                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {
                  ppuVar17 = (undefined **)local_90[2];
                  ppuVar20 = local_94 + -0x15e4b4;
                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);
                  if (ppuVar2 != ppuVar20) {
                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;
                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */
                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;
                    iVar11 = (*(code *)ppuVar2)();
                    if (iVar11 != 0) {
                      cVar19 = *(code *)((int)local_90 + 0x2a);
                      bVar24 = (byte)cVar19 & 7;
                      if (((byte)cVar19 & 7) == 0) {
                        if (local_90[3] == (undefined *)0x0) {
                          cVar8 = *(code *)((int)local_90 + 0x2b);
                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;
                        }
                        else {
                          cVar8 = *(code *)((int)local_90 + 0x2b);
                        }
                        if ((char)cVar8 < '\0') goto LAB_0009d900;
                      }
                      else {
                        if (bVar24 == 4) goto LAB_0009d63d;
                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;
                      }
                      ppuVar20 = local_94 + 0x1f2;
                      goto LAB_0009d779;
                    }
                    goto LAB_0009d970;
                  }
LAB_0009d2df:
                  bVar18 = (byte)cVar19 & 7;
                  cVar19 = *(code *)((int)local_90 + 0x29);
                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);
                  bVar24 = (byte)cVar19 & 3;
                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;
LAB_0009d2fb:
                  if ((local_90[3] == (undefined *)0x0) &&
                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {
                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));
                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;
                    ppuVar17 = (undefined **)(uint)bVar16;
                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))
                    goto LAB_0009d701;
                  }
LAB_0009d312:
                  if ((local_90[2][0x2c] & 1) != 0) {
LAB_0009d321:
                    if (bVar24 == 2) {
                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;
                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;
                      uVar15 = gettext();
                    }
                    else if (bVar24 < 3) {
                      if (bVar24 != 1) {
LAB_0009f3a6:
                        *(undefined ***)(puVar22 + -4) = ppuVar17;
                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;
                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;
                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */
                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;
                        FUN_002446e0();
                      }
                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;
                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;
                      uVar15 = gettext();
                    }
                    else {
                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;
                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;
                      uVar15 = gettext();
                    }
                    puVar3 = *local_90;
                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;
                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;
                    uVar10 = gettext();
                    *(undefined **)(puVar22 + -8) = puVar3;
                    *(undefined4 *)(puVar22 + -0xc) = uVar15;
                    *(undefined4 *)(puVar22 + -0x10) = uVar10;
                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */
                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;
                    FUN_0023b810();
                  }
                  goto LAB_0009d380;
                }
LAB_0009d63d:
                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));
                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))
                {
LAB_0009d970:
                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));
                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;
LAB_0009d943:
                  if (bVar24 == 0) goto LAB_0009d380;
                  cVar19 = *(code *)((int)local_90 + 0x2a);
                  ppuVar17 = (undefined **)(uint)(byte)cVar19;
                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);
                  bVar18 = (byte)cVar19 & 7;
                  if (bVar18 != 0) goto LAB_0009d6cc;
                  goto LAB_0009d2fb;
                }
                ppuVar20 = local_94 + 0x1f2;
                if (*(int *)(*ppuVar20 + 8) == 0) {
                  *(undefined4 *)(puVar22 + -4) = 0;
                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;
                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;
                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */
                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;
                  FUN_002446e0();
                }
                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;
                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {
                  if (bVar24 != 0) goto LAB_0009d6b0;
                  ppuVar20 = local_94 + -0x15e4b4;
LAB_0009d900:
                  ppuVar17 = (undefined **)local_90[2];
                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);
                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;
                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;
                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;
                  iVar11 = (*(code *)ppuVar2)();
                  ppuVar20 = local_e0;
                  if (iVar11 != 0) goto LAB_0009d779;
LAB_0009d930:
                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));
                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;
                  goto LAB_0009d943;
                }
LAB_0009d779:
                piVar4 = *(int **)(*ppuVar20 + 0xc);
                if (piVar4 == (int *)0x0) {
                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;
                  *(undefined4 *)(puVar22 + -0xc) = 0x69;
                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */
                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;
                  FUN_002446e0();
                }
                iVar11 = *piVar4;
                *(undefined ***)(puVar22 + -0xc) = local_90;
                *(int **)(puVar22 + -0x10) = piVar4;
                pcVar1 = *(code **)(iVar11 + 0x1c);
                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;
                cVar7 = (*pcVar1)();
                if (cVar7 != '\0') goto LAB_0009d930;
                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);
                if (ppuVar20 == (undefined **)0x0) {
                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;
                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;
                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */
                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;
                  FUN_002446e0();
                }
                pbVar21 = ppuVar20[0x10b9];
                bVar26 = false;
                bVar28 = pbVar21 == (byte *)0x0;
                if (bVar28) {
                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));
                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;
LAB_0009d85a:
                  if ((bVar24 == 2) ||
                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||
                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;
                  goto LAB_0009d943;
                }
                iVar11 = 0xb;
                pbVar13 = pbVar21;
                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);
                do {
                  if (iVar11 == 0) break;
                  iVar11 = iVar11 + -1;
                  bVar26 = *pbVar13 < *pbVar25;
                  bVar28 = *pbVar13 == *pbVar25;
                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;
                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;
                } while (bVar28);
                bVar27 = false;
                bVar26 = (!bVar26 && !bVar28) == bVar26;
                if (bVar26) goto LAB_0009d930;
                iVar11 = 0xb;
                pbVar13 = pbVar21;
                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);
                do {
                  if (iVar11 == 0) break;
                  iVar11 = iVar11 + -1;
                  bVar27 = *pbVar13 < *pbVar25;
                  bVar26 = *pbVar13 == *pbVar25;
                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;
                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;
                } while (bVar26);
                bVar28 = false;
                bVar26 = (!bVar27 && !bVar26) == bVar27;
                if (!bVar26) {
                  iVar11 = 0x17;
                  pbVar13 = pbVar21;
                  ppuVar17 = local_94 + -0x687e4;
                  do {
                    if (iVar11 == 0) break;
                    iVar11 = iVar11 + -1;
                    bVar28 = *pbVar13 < *(byte *)ppuVar17;
                    bVar26 = *pbVar13 == *(byte *)ppuVar17;
                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;
                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);
                  } while (bVar26);
                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));
                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;
                  bVar26 = (!bVar28 && !bVar26) == bVar28;
                  if ((!bVar26) ||
                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {
                    bVar28 = false;
                    iVar11 = 0x16;
                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);
                    do {
                      if (iVar11 == 0) break;
                      iVar11 = iVar11 + -1;
                      bVar28 = *pbVar21 < *pbVar13;
                      bVar26 = *pbVar21 == *pbVar13;
                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;
                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;
                    } while (bVar26);
                    if (((!bVar28 && !bVar26) != bVar28) ||
                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;
                  }
                  goto LAB_0009d943;
                }
LAB_0009d874:
                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;
                *(uint *)(puVar22 + -0x14) = local_c4;
                *(int *)(puVar22 + -0x18) = local_b4;
                *(undefined4 **)(puVar22 + -0x1c) = param_2;
                *(undefined ***)(puVar22 + -0x20) = local_90;
                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;
                FUN_0023c700();
                cVar19 = *(code *)((int)local_90 + 0x2b);
                ppuVar17 = local_90;
              }
              else {
                if (bVar24 == 4) goto LAB_0009d63d;
LAB_0009d6b0:
                cVar8 = *(code *)((int)local_90 + 0x29);
                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);
                bVar24 = (byte)cVar8 & 3;
                if (((byte)cVar8 & 3) != 0) {
                  bVar18 = (byte)cVar19 & 7;
LAB_0009d6cc:
                  if (bVar18 == 4) {
                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));
                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||
                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;
LAB_0009d701:
                    ppuVar17 = *(undefined ***)(*local_dc + 8);
                    if (ppuVar17 == (undefined **)0x0) {
                      *(undefined ***)(puVar22 + -4) = ppuVar20;
                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;
                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;
                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */
                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;
                      FUN_002446e0();
                    }
                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;
                    if (bVar18 == 0) goto LAB_0009d312;
                  }
                }
LAB_0009d380:
                cVar19 = *(code *)((int)local_90 + 0x2b);
                ppuVar17 = local_90;
              }
              local_90 = ppuVar17;
              if (((byte)cVar19 & 4) != 0) {
                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;
                *(uint *)(puVar22 + -0x10) = local_c4;
                *(int *)(puVar22 + -0x14) = local_b4;
                local_90 = (undefined **)*param_2;
                *(undefined4 **)(puVar22 + -0x18) = param_2;
                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;
                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;
                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;
                FUN_003509b0();
              }
            }
          }
          else {
LAB_0009dd10:
            local_78 = param_4;
            if (local_b8 != 0x3a) {
              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;
              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;
              uVar15 = gettext();
              uVar9 = *local_78;
              *(undefined4 *)(puVar22 + -0x10) = uVar15;
              *(undefined4 *)(puVar22 + -0x14) = 0;
              *(uint *)(puVar22 + -0x18) =
                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;
              *(int *)(puVar22 + -0x1c) = local_b4;
              *(undefined4 **)(puVar22 + -0x20) = param_2;
              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;
              FUN_0023be30();
              goto LAB_0009cdf2;
            }
            local_74 = '\0';
          }
        }
        *(byte ***)(puVar22 + -0x10) = local_d0;
        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;
        FUN_00072240();
        *(byte ***)(puVar22 + -0x10) = local_bc;
        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;
        FUN_00072240();
      }
      else {
        *(uint *)(puVar22 + -4) = local_c4;
        *(undefined4 *)(puVar22 + -8) = param_2[6];
        *(undefined4 *)(puVar22 + -0xc) = param_2[2];
        *(undefined4 *)(puVar22 + -0x10) = param_6;
                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */
        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;
        local_c4 = FUN_002cda80();
        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;
      }
      local_b4 = local_b4 + 1;
      param_4 = param_4 + 3;
      puVar6 = puVar22;
    } while (param_5 != local_b4);
  }
  if (local_74 == '\0') {
    return;
  }
  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;
  *(undefined4 *)(puVar22 + -0x14) = 0x9f087;
  uVar15 = gettext();
  *(undefined4 *)(puVar22 + -0x10) = uVar15;
  *(undefined4 *)(puVar22 + -0x14) = 0x9f08f;
  FUN_0023b810();
  return;
}


CALL 0x00074f02
ADD EAX,0x54d43b
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0xdc
MOV dword ptr [EBP + 0xffffff70],EAX
MOVZX EAX,byte ptr [EBP + 0x20]
CMP dword ptr [EBP + 0x10],0x4
MOV byte ptr [EBP + 0xffffff33],AL
JNZ 0x0009f447
MOV EAX,dword ptr [EBP + 0xc]
MOV EBX,dword ptr [EBP + 0xffffff70]
MOV byte ptr [EBP + -0x70],0x0
MOV dword ptr [EBP + -0x6c],0x0
MOV EDI,dword ptr [EAX + 0x8]
LEA ECX,[EBX + 0xffa86d40]
MOV EAX,dword ptr [EDI]
MOV dword ptr [EBP + 0xffffff38],EDI
MOV EDX,dword ptr [EAX + 0x8c]
CMP EDX,ECX
JNZ 0x0009f0b8
SUB ESP,0xc
PUSH EDI
CALL dword ptr [EAX + 0xbc]
MOV dword ptr [EBP + 0xffffff2c],EAX
MOV ECX,dword ptr [EBP + 0x18]
ADD ESP,0x10
MOV dword ptr [EBP + 0xffffff44],0x0
MOV EAX,dword ptr [EBP + 0xffffff70]
MOV dword ptr [EBP + 0xffffff50],0x0
LEA EAX,[EAX + 0x7c8]
MOV dword ptr [EBP + 0xffffff28],EAX
MOV dword ptr [EBP + 0xffffff24],EAX
TEST ECX,ECX
JZ 0x0009d3c7
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0x14]
CMP byte ptr [EBP + 0xffffff33],0x0
MOV EAX,dword ptr [EAX]
BSWAP EAX
MOV dword ptr [EBP + 0xffffff40],EAX
JNZ 0x0009dfe0
MOV EAX,dword ptr [EBP + 0x14]
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [EBP + -0x68],0x0
MOV dword ptr [EBP + -0x64],0xffffffff
BSWAP EAX
MOV EDI,EAX
MOV dword ptr [EBP + -0x60],0x80000000
SHR EDI,0x8
MOV dword ptr [EBP + -0x5c],0x0
MOV dword ptr [EBP + 0xffffff64],EDI
CMP dword ptr [EBP + 0xffffff2c],EDI
JBE 0x0009e038
MOV EDX,dword ptr [EBP + 0x30]
TEST EDX,EDX
JZ 0x0009df10
MOV ESI,dword ptr [EBP + 0x30]
MOV ECX,dword ptr [EBP + 0xffffff50]
MOV EDX,dword ptr [ESI]
MOV EDI,dword ptr [EDX + ECX*0x4]
MOV dword ptr [EBP + 0xffffff74],EDI
TEST EDI,EDI
JZ 0x0009df10
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV EAX,dword ptr [EAX + 0x10]
LEA EDX,[EAX + -0x1]
CMP EDX,-0x3
JBE 0x0009e020
MOV dword ptr [EBP + -0x68],0xffffffff
MOV ESI,dword ptr [EBP + 0xffffff74]
MOV EAX,dword ptr [ESI + 0x30]
MOV dword ptr [EBP + -0x5c],EAX
MOVZX EAX,byte ptr [ESI + 0x28]
AND EAX,0xf
CMP EAX,0x6
JZ 0x0009dcb0
CMP EAX,0xa
JNZ 0x0009cd2d
OR byte ptr [EBP + -0x5d],0x40
MOV EAX,dword ptr [EBP + 0xffffff74]
MOVZX EDX,byte ptr [EAX + 0x2b]
TEST DL,DL
JNS 0x0009d9b8
MOV ECX,dword ptr [EBP + 0xffffff74]
MOVZX EAX,byte ptr [ECX + 0x2a]
MOV byte ptr [EBP + 0xffffff68],AL
AND EAX,0x7
JNZ 0x0009d9b0
MOV ESI,dword ptr [ECX + 0xc]
TEST ESI,ESI
JNZ 0x0009cd68
AND EDX,0x20
JNZ 0x0009d9d8
LEA ESI,[EBP + -0x68]
MOV EAX,dword ptr [EBP + 0x14]
MOV dword ptr [EBP + 0xffffff48],ESI
MOV dword ptr [EBP + 0xffffff68],ESI
MOV EAX,dword ptr [EAX + 0x4]
BSWAP EAX
NOP
LEA ECX,[EBP + -0x58]
MOV dword ptr [EBP + -0x58],0x0
MOV dword ptr [EBP + -0x54],0xffffffff
MOV dword ptr [EBP + -0x50],0x80000000
MOV dword ptr [EBP + -0x4c],0x0
MOV dword ptr [EBP + 0xffffff34],ECX
MOVZX EAX,AL
MOV ECX,dword ptr [EBP + 0xffffff40]
MOV dword ptr [EBP + 0xffffff4c],EAX
MOV EAX,dword ptr [EBP + 0xffffff68]
MOVZX EAX,byte ptr [EAX + 0xb]
SHR AL,0x6
MOV EDI,EAX
MOVZX EAX,byte ptr [EBP + -0x70]
AND EDI,0x1
TEST ECX,ECX
JS 0x0009dcc0
CMP dword ptr [EBP + 0x2c],ECX
JBE 0x0009dcc0
MOV EBX,dword ptr [EBP + 0x14]
ADD ECX,dword ptr [EBP + 0x24]
MOV dword ptr [EBP + 0xffffff64],ECX
MOV dword ptr [EBP + -0x74],EBX
TEST AL,AL
JNZ 0x0009dd10
MOV EAX,dword ptr [EBP + 0xffffff64]
TEST EAX,EAX
JZ 0x0009dcd4
CMP dword ptr [EBP + -0x6c],EAX
JZ 0x0009df00
MOV EAX,dword ptr [EBP + 0xc]
MOV ECX,dword ptr [EBP + 0xffffff74]
MOV dword ptr [EBP + -0x48],0x0
MOV dword ptr [EBP + -0x44],0xffffffff
MOV EAX,dword ptr [EAX + 0x8]
MOV dword ptr [EBP + -0x40],0x80000000
MOV dword ptr [EBP + -0x3c],0x0
MOV dword ptr [EBP + 0xffffff60],EAX
TEST ECX,ECX
JZ 0x0009dd70
MOV EBX,dword ptr [EBP + 0xffffff4c]
XOR ESI,ESI
LEA EAX,[EBX + -0x1]
CMP EAX,0x57
JA 0x0009ce5d
MOV EAX,dword ptr [EBP + 0xffffff70]
MOVSX ESI,byte ptr [EAX + EBX*0x1 + 0xffe6ba9f]
MOV ECX,dword ptr [EBP + 0xffffff74]
CMP dword ptr [ECX + 0x18],-0x1
JZ 0x0009d17c
MOVZX EAX,byte ptr [ECX + 0x28]
MOV byte ptr [EBP + 0xffffff58],AL
AND EAX,0xf
CMP AL,0xa
JZ 0x0009d0a0
SUB ESP,0x8
LEA EAX,[EBP + -0x48]
PUSH ESI
PUSH ECX
MOV dword ptr [EBP + 0xffffff54],EAX
CALL 0x00071bb0
ADD ESP,0x10
TEST AL,AL
JNZ 0x0009d17c
MOV EDX,dword ptr [EBP + 0xffffff74]
MOVZX EAX,byte ptr [EDX + 0x2a]
MOV byte ptr [EBP + 0xffffff58],AL
AND EAX,0x7
JNZ 0x0009d110
MOV EDX,dword ptr [EDX + 0x8]
TEST byte ptr [EDX + 0x2c],0x1
JZ 0x0009d110
MOV EAX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EAX + 0x18]
TEST EBX,EBX
JZ 0x0009d100
MOV EAX,dword ptr [EBP + 0xffffff74]
MOVZX EAX,byte ptr [EAX + 0x28]
AND EAX,0xf
CMP AL,0xa
JZ 0x0009d0aa
MOV dword ptr [EBP + 0xffffff68],0x0
MOV dword ptr [EBP + 0xffffff6c],0x0
TEST byte ptr [EBX + 0x1c],0x1
JZ 0x0009f2a3
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV ECX,dword ptr [EBX + 0x4]
MOV EAX,dword ptr [EAX + 0x18]
CMP EAX,-0x1
JZ 0x0009f2cd
ADD EAX,dword ptr [EBP + 0xffffff68]
ADD EAX,ECX
MOV dword ptr [EBP + -0x3c],EAX
MOV EAX,dword ptr [EBP + -0x74]
MOV ESI,dword ptr [EAX + 0x8]
BSWAP ESI
MOV ECX,ESI
MOV dword ptr [EBP + 0xffffff58],ESI
SAR ECX,0x1f
MOV dword ptr [EBP + 0xffffff5c],ECX
MOV ECX,dword ptr [EBP + 0xffffff4c]
CMP ECX,0xd
JC 0x0009d5c0
CMP ECX,0xf
JBE 0x0009d550
LEA EAX,[ECX + -0x52]
CMP EAX,0x2
LEA EAX,[EBP + -0x48]
MOV dword ptr [EBP + 0xffffff54],EAX
MOV dword ptr [EBP + 0xffffff68],EAX
JA 0x0009d5e0
MOV EAX,dword ptr [EBP + 0xffffff74]
MOVZX EAX,byte ptr [EAX + 0x2a]
MOV byte ptr [EBP + 0xffffff3c],AL
AND EAX,0x7
JNZ 0x0009d090
MOV EBX,dword ptr [EBP + 0xffffff74]
MOV EAX,dword ptr [EBX + 0xc]
TEST byte ptr [EBX + 0x2b],0x20
JZ 0x0009d010
TEST EAX,EAX
JZ 0x0009cfd0
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV EAX,dword ptr [EAX + 0x8]
TEST byte ptr [EAX + 0x2c],0x1
JNZ 0x0009cfd0
SUB ESP,0xc
PUSH dword ptr [EBP + 0xffffff74]
CALL 0x00071a80
ADD ESP,0x10
TEST AL,AL
JNZ 0x0009cfd0
MOV EAX,EDI
TEST AL,AL
JZ 0x0009ddfa
LEA ESI,[ESI]
MOV ECX,dword ptr [EBP + 0xffffff74]
LEA EAX,[ECX + 0x1c]
MOV EDX,EAX
LEA ESI,[ESI]
NOP
MOV EBX,dword ptr [EDX]
TEST EBX,EBX
JZ 0x0009d040
MOV EDX,dword ptr [EDX + 0x8]
TEST EDX,EDX
JNZ 0x0009cfe0
MOV EBX,dword ptr [EBP + 0xffffff70]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe6bc64]
PUSH EAX
LEA EAX,[EBX + 0xffe69dae]
PUSH 0xd26
PUSH EAX
CALL 0x002446e0
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH EAX
CALL 0x0034c920
ADD ESP,0x10
TEST AL,AL
JNZ 0x0009cfd0
MOV EAX,dword ptr [EBP + 0xffffff74]
TEST byte ptr [EAX + 0x2a],0x7
JNZ 0x0009cfae
JMP 0x0009cf9f
CMP dword ptr [EDX + 0x4],-0x1
MOV dword ptr [EBP + 0xffffff74],ECX
JZ 0x0009cfed
MOV EDI,dword ptr [EBP + 0xffffff74]
MOV ECX,EDI
LEA ESI,[ESI]
MOV EDX,dword ptr [EAX]
TEST EDX,EDX
JZ 0x0009d5f0
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JNZ 0x0009d058
MOV EBX,dword ptr [EBP + 0xffffff70]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe6c28c]
PUSH EAX
LEA EAX,[EBX + 0xffe633e0]
PUSH 0x1b7
PUSH EAX
CALL 0x002446e0
CMP AL,0x4
JZ 0x0009cfd0
JMP 0x0009cfae
MOV EAX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EAX + 0x18]
TEST EBX,EBX
JZ 0x0009d100
SUB ESP,0x8
LEA EAX,[EBP + -0x48]
PUSH 0x0
PUSH dword ptr [EBP + 0xffffff74]
MOV dword ptr [EBP + 0xffffff54],EAX
CALL 0x00071de0
MOV dword ptr [EBP + 0xffffff68],0x0
ADD ESP,0x10
MOV dword ptr [EBP + 0xffffff6c],0x0
TEST AL,AL
JZ 0x0009cefd
MOV EAX,dword ptr [EBX + 0x34]
LEA ESI,[EAX + EAX*0x2 + 0xc]
SHL ESI,0x2
MOV dword ptr [EBP + 0xffffff68],ESI
SAR ESI,0x1f
MOV dword ptr [EBP + 0xffffff6c],ESI
JMP 0x0009cefd
LEA EAX,[EBP + -0x48]
MOV dword ptr [EBP + 0xffffff54],EAX
CALL 0x00095ef0
NOP
MOV ECX,dword ptr [EBP + 0xffffff70]
LEA EBX,[ECX + 0x7c8]
MOV EDX,dword ptr [EBX]
MOV EDX,dword ptr [EDX + 0x8]
TEST EDX,EDX
JZ 0x0009f357
CMP byte ptr [EDX + 0x1a25],0x0
JZ 0x0009d173
TEST AL,AL
JNZ 0x0009d1e0
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV EDX,dword ptr [EAX + 0xc]
TEST EDX,EDX
JNZ 0x0009d151
TEST byte ptr [EAX + 0x2b],0x20
JNZ 0x0009cec6
SUB ESP,0xc
PUSH dword ptr [EBP + 0xffffff74]
LEA EAX,[EBP + -0x48]
MOV dword ptr [EBP + 0xffffff54],EAX
CALL 0x00071a80
ADD ESP,0x10
TEST AL,AL
JNZ 0x0009cec6
AND ESI,0x8
JNZ 0x0009e110
MOV EAX,dword ptr [EBP + -0x74]
MOV ESI,dword ptr [EAX + 0x8]
BSWAP ESI
MOV EAX,ESI
MOV dword ptr [EBP + 0xffffff58],ESI
SAR EAX,0x1f
MOV dword ptr [EBP + 0xffffff5c],EAX
MOV EAX,dword ptr [EBP + 0xffffff4c]
CMP EAX,0xd
JC 0x0009d620
CMP EAX,0xf
JBE 0x0009d610
MOV EAX,dword ptr [EBP + 0xffffff4c]
SUB EAX,0x52
CMP EAX,0x2
JA 0x0009d1f0
MOV EDX,dword ptr [EBP + 0xffffff74]
LEA EAX,[EBP + -0x48]
MOV dword ptr [EBP + 0xffffff54],EAX
TEST EDX,EDX
JNZ 0x0009cf73
JMP 0x0009ddfa
CMP AL,0x4
JZ 0x0009cec6
JMP 0x0009d151
XOR EDI,EDI
LEA ECX,[EBP + -0x48]
XOR EAX,EAX
MOV dword ptr [EBP + 0xffffff54],ECX
LEA ESI,[ESI]
MOV EBX,dword ptr [EBP + 0xffffff40]
ADD EBX,dword ptr [EBP + 0x28]
MOV dword ptr [EBP + 0xffffff3c],EBX
MOV EBX,dword ptr [EBP + 0xffffff4c]
CMP EBX,0xfb
JA 0x0009efc0
MOV ECX,dword ptr [EBP + 0xffffff70]
MOV EDX,dword ptr [ECX + EBX*0x4 + 0xffe6a408]
ADD EDX,ECX
JMP EDX
SUB ESP,0xc
PUSH dword ptr [EBP + 0xffffff54]
CALL 0x00072240
MOV EBX,dword ptr [EBP + 0xffffff74]
ADD ESP,0x10
TEST EBX,EBX
JZ 0x0009d390
MOV EAX,dword ptr [EBP + 0xffffff74]
MOVZX EDX,byte ptr [EAX + 0x2a]
MOV ECX,EDX
AND ECX,0x7
JNZ 0x0009d638
MOV EDI,dword ptr [EAX + 0xc]
TEST EDI,EDI
JNZ 0x0009d2bd
TEST byte ptr [EAX + 0x2b],0x20
JNZ 0x0009d63d
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV ESI,dword ptr [EBP + 0xffffff70]
MOV ECX,dword ptr [EAX + 0x8]
LEA EBX,[ESI + 0xffa86d30]
MOV EAX,dword ptr [ECX]
MOV EAX,dword ptr [EAX + 0x14]
CMP EAX,EBX
JNZ 0x0009d730
MOV EAX,dword ptr [EBP + 0xffffff74]
AND EDX,0x7
MOVZX EAX,byte ptr [EAX + 0x29]
MOV byte ptr [EBP + 0xffffff68],AL
AND EAX,0x3
JZ 0x0009d380
MOV ESI,dword ptr [EBP + 0xffffff74]
MOV EDI,dword ptr [ESI + 0xc]
TEST EDI,EDI
JNZ 0x0009d312
TEST byte ptr [ESI + 0x2b],0x20
JNZ 0x0009eff0
MOV ESI,dword ptr [EBP + 0xffffff74]
MOV EDX,dword ptr [ESI + 0x8]
TEST byte ptr [EDX + 0x2c],0x1
JZ 0x0009d380
CMP AL,0x2
JZ 0x0009e2a0
JBE 0x0009d980
MOV EBX,dword ptr [EBP + 0xffffff70]
SUB ESP,0xc
LEA EAX,[EBX + 0xffe635aa]
PUSH EAX
CALL 0x00039440
ADD ESP,0x10
MOV ESI,EAX
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV ECX,dword ptr [EBP + 0xffffff70]
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 + 0xffffff70]
PUSH EDI
PUSH ESI
PUSH EAX
CALL 0x0023b810
ADD ESP,0x10
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0xffffff74]
TEST byte ptr [EAX + 0x2b],0x4
JNZ 0x0009d8ad
SUB ESP,0xc
PUSH dword ptr [EBP + 0xffffff34]
CALL 0x00072240
POP EDX
PUSH dword ptr [EBP + 0xffffff48]
CALL 0x00072240
ADD ESP,0x10
ADD dword ptr [EBP + 0xffffff50],0x1
MOV EAX,dword ptr [EBP + 0xffffff50]
ADD dword ptr [EBP + 0x14],0xc
CMP dword ptr [EBP + 0x18],EAX
JNZ 0x0009cc70
CMP byte ptr [EBP + -0x70],0x0
JNZ 0x0009f070
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EDI,[EBP + -0x48]
MOV dword ptr [EBP + 0xffffff54],EDI
MOV dword ptr [EBP + 0xffffff68],EDI
MOV EDI,dword ptr [EBP + 0xffffff74]
TEST EDI,EDI
JNZ 0x0009cfd0
MOV EDX,dword ptr [EBP + 0xffffff60]
MOV EBX,dword ptr [EAX + 0x4]
SUB ESP,0xc
MOV EAX,dword ptr [EDX]
BSWAP EBX
SHR EBX,0x8
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH EBX
PUSH EDX
CALL dword ptr [EAX + 0xac]
ADD ESP,0x20
TEST AL,AL
JZ 0x0009f336
MOV EDI,dword ptr [EBP + 0xffffff60]
SUB ESP,0xc
MOV EAX,dword ptr [EDI]
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH EBX
PUSH EDI
CALL dword ptr [EAX + 0xb0]
ADD ESP,0x20
XOR EDI,EDI
JMP 0x0009d200
LEA EAX,[EBP + -0x48]
XOR EDI,EDI
MOV dword ptr [EBP + 0xffffff54],EAX
MOV dword ptr [EBP + 0xffffff68],EAX
XOR EAX,EAX
JMP 0x0009d200
XOR EDI,EDI
XOR EAX,EAX
JMP 0x0009d200
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [EBP + 0xffffff74],ECX
CMP EAX,-0x1
JZ 0x0009d069
XOR EDI,EDI
JMP 0x0009d200
LEA EAX,[EBP + -0x48]
MOV dword ptr [EBP + 0xffffff54],EAX
JMP 0x0009cfd0
LEA EBX,[EBP + -0x48]
XOR EDI,EDI
XOR EAX,EAX
MOV dword ptr [EBP + 0xffffff54],EBX
JMP 0x0009d200
CMP CL,0x4
JNZ 0x0009d6b0
MOV EAX,dword ptr [EBP + 0xffffff74]
MOVZX EAX,byte ptr [EAX + 0x28]
MOV byte ptr [EBP + 0xffffff68],AL
SHR AL,0x4
CMP AL,0x2
MOV EAX,dword ptr [EBP + 0xffffff74]
JZ 0x0009d970
TEST byte ptr [EAX + 0x2c],0x2
JNZ 0x0009d970
MOV EAX,dword ptr [EBP + 0xffffff70]
LEA EBX,[EAX + 0x7c8]
MOV EAX,dword ptr [EBX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0009f42b
CMP byte ptr [EAX + 0x49b1],0x0
MOV EAX,dword ptr [EBP + 0xffffff74]
JNZ 0x0009d970
CMP byte ptr [EAX + 0x2b],0x0
JNS 0x0009d779
TEST CL,CL
JZ 0x0009d8ec
LEA ESI,[ESI]
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0xffffff74]
MOVZX EAX,byte ptr [EAX + 0x29]
MOV byte ptr [EBP + 0xffffff68],AL
AND EAX,0x3
JZ 0x0009d380
AND EDX,0x7
CMP DL,0x4
JNZ 0x0009d380
MOV EDI,dword ptr [EBP + 0xffffff74]
MOVZX ECX,byte ptr [EDI + 0x28]
MOV byte ptr [EBP + 0xffffff68],CL
SHR CL,0x4
CMP CL,0x2
JZ 0x0009d380
MOV ECX,dword ptr [EBP + 0xffffff74]
TEST byte ptr [ECX + 0x2c],0x2
JNZ 0x0009d380
MOV ECX,dword ptr [EBP + 0xffffff28]
MOV ECX,dword ptr [ECX]
MOV ECX,dword ptr [ECX + 0x8]
TEST ECX,ECX
JZ 0x0009f155
CMP byte ptr [ECX + 0x49b1],0x0
JZ 0x0009d321
TEST DL,DL
JNZ 0x0009d380
JMP 0x0009d312
SUB ESP,0xc
PUSH ECX
CALL EAX
ADD ESP,0x10
TEST EAX,EAX
MOV EAX,dword ptr [EBP + 0xffffff74]
JZ 0x0009d970
MOVZX EDX,byte ptr [EAX + 0x2a]
MOV ECX,EDX
AND ECX,0x7
JNZ 0x0009e1d0
MOV ESI,dword ptr [EAX + 0xc]
TEST ESI,ESI
JZ 0x0009e1f0
MOVZX EAX,byte ptr [EAX + 0x2b]
TEST AL,AL
JS 0x0009d900
MOV EAX,dword ptr [EBP + 0xffffff70]
LEA EBX,[EAX + 0x7c8]
MOV EAX,dword ptr [EBX]
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JZ 0x0009f318
MOV EDX,dword ptr [EAX]
SUB ESP,0x8
PUSH dword ptr [EBP + 0xffffff74]
PUSH EAX
CALL dword ptr [EDX + 0x1c]
ADD ESP,0x10
TEST AL,AL
JNZ 0x0009d930
MOV EAX,dword ptr [EBX]
MOV EBX,dword ptr [EAX + 0x8]
TEST EBX,EBX
JZ 0x0009f37a
MOV EDX,dword ptr [EBX + 0x42e4]
TEST EDX,EDX
JZ 0x0009e270
MOV EAX,dword ptr [EBP + 0xffffff70]
MOV ECX,0xb
MOV ESI,EDX
LEA EDI,[EAX + 0xffe5e05a]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0009d930
MOV EAX,dword ptr [EBP + 0xffffff70]
MOV ECX,0xb
MOV ESI,EDX
LEA EDI,[EAX + 0xffe5e065]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0009d874
MOV EAX,dword ptr [EBP + 0xffffff70]
MOV ECX,0x17
MOV ESI,EDX
LEA EDI,[EAX + 0xffe5e070]
CMPSB.REPE ES:EDI,ESI
MOV EDI,dword ptr [EBP + 0xffffff74]
MOVZX EAX,byte ptr [EDI + 0x29]
MOV byte ptr [EBP + 0xffffff68],AL
SETA CL
SBB CL,0x0
AND EAX,0x3
TEST CL,CL
JNZ 0x0009d837
TEST byte ptr [EDI + 0x2b],0x1
JZ 0x0009d943
MOV ESI,dword ptr [EBP + 0xffffff70]
MOV ECX,0x16
LEA EDI,[ESI + 0xffe5e087]
MOV ESI,EDX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x0009ef90
CMP AL,0x2
JZ 0x0009d874
CMP byte ptr [EBX + 0x1a25],0x0
JZ 0x0009d874
CMP byte ptr [EBX + 0x4eb5],0x0
JZ 0x0009d943
MOV EAX,dword ptr [EBP + 0xffffff40]
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff70]
CDQ
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + 0xffffff50]
PUSH dword ptr [EBP + 0xc]
PUSH dword ptr [EBP + 0xffffff74]
CALL 0x0023c700
MOV EAX,dword ptr [EBP + 0xffffff74]
ADD ESP,0x20
TEST byte ptr [EAX + 0x2b],0x4
JZ 0x0009d390
MOV EAX,dword ptr [EBP + 0xffffff40]
SUB ESP,0x8
MOV EBX,dword ptr [EBP + 0xffffff70]
CDQ
PUSH EDX
PUSH EAX
MOV EAX,dword ptr [EBP + 0xc]
PUSH dword ptr [EBP + 0xffffff50]
MOV EAX,dword ptr [EAX]
PUSH dword ptr [EBP + 0xc]
PUSH dword ptr [EBP + 0xffffff74]
MOV dword ptr [EBP + 0xffffff74],EAX
ADD EAX,0x100
PUSH EAX
CALL 0x003509b0
ADD ESP,0x20
JMP 0x0009d390
MOV EAX,dword ptr [EBP + 0xffffff70]
LEA EBX,[EAX + 0xffa86d30]
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV ECX,dword ptr [EAX + 0x8]
MOV EAX,dword ptr [ECX]
MOV EAX,dword ptr [EAX + 0x14]
CMP EAX,EBX
JZ 0x0009d2df
SUB ESP,0xc
PUSH ECX
CALL EAX
ADD ESP,0x10
MOV EBX,dword ptr [EBP + 0xffffff24]
TEST EAX,EAX
JNZ 0x0009d779
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0xffffff74]
MOVZX EAX,byte ptr [EAX + 0x29]
MOV byte ptr [EBP + 0xffffff68],AL
AND EAX,0x3
TEST AL,AL
JZ 0x0009d380
MOV EDX,dword ptr [EBP + 0xffffff74]
MOVZX ECX,byte ptr [EDX + 0x2a]
MOV EDX,ECX
MOV byte ptr [EBP + 0xffffff68],CL
AND DL,0x7
JZ 0x0009d2fb
JMP 0x0009d6cc
MOVZX EAX,byte ptr [EAX + 0x29]
MOV byte ptr [EBP + 0xffffff68],AL
AND EAX,0x3
JMP 0x0009d943
CMP AL,0x1
JNZ 0x0009f3a6
MOV EBX,dword ptr [EBP + 0xffffff70]
SUB ESP,0xc
LEA EAX,[EBX + 0xffe6359a]
PUSH EAX
CALL 0x00039440
ADD ESP,0x10
MOV ESI,EAX
JMP 0x0009d349
CMP AL,0x4
JZ 0x0009d9d8
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0x14]
LEA EDI,[EBP + -0x68]
MOV dword ptr [EBP + 0xffffff48],EDI
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [EBP + 0xffffff68],EDI
BSWAP EAX
JMP 0x0009cd80
MOV dword ptr [EBP + 0xffffff60],0x0
LEA EAX,[EBP + -0x68]
MOV dword ptr [EBP + 0xffffff48],EAX
MOV dword ptr [EBP + 0xffffff68],EAX
MOV EDX,dword ptr [EBP + 0xffffff38]
MOV EDI,dword ptr [EBP + 0xc]
SUB ESP,0x4
LEA ESI,[EBP + -0x48]
MOV dword ptr [EBP + -0x58],0x0
MOV EAX,dword ptr [EDX]
PUSH dword ptr [EDI + 0x18]
PUSH EDX
LEA EDX,[EBP + -0x58]
MOV dword ptr [EBP + -0x54],0xffffffff
MOV dword ptr [EBP + -0x50],0x80000000
MOV dword ptr [EBP + -0x4c],0x0
MOV dword ptr [EBP + 0xffffff54],ESI
PUSH ESI
MOV dword ptr [EBP + 0xffffff34],EDX
CALL dword ptr [EAX + 0x40]
MOV EAX,dword ptr [EBP + 0xffffff44]
ADD ESP,0xc
TEST EAX,EAX
JNZ 0x0009dc80
MOV EAX,dword ptr [EBP + -0x48]
MOV EBX,dword ptr [EBP + 0xffffff70]
MOV ECX,0x6
LEA EDI,[EBX + 0xffe6353d]
MOV ESI,EAX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JNZ 0x0009db00
LEA EAX,[EBP + -0x30]
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH EAX
PUSH dword ptr [EBP + 0xffffff54]
PUSH dword ptr [EBP + 0xffffff60]
PUSH dword ptr [EBP + 0xffffff38]
CALL 0x00290ed0
ADD ESP,0x10
XOR EDX,EDX
CMP byte ptr [EBP + -0x30],0x0
JZ 0x0009daa3
MOV EDX,dword ptr [EBP + 0xffffff68]
ADD EAX,dword ptr [EDX + 0xc]
MOV EDX,EAX
MOV dword ptr [EBP + -0x4c],EDX
MOV dword ptr [EBP + 0xffffff44],0x1
MOV EBX,dword ptr [EBP + -0x58]
TEST EBX,EBX
JNZ 0x0009f1f1
MOV EAX,dword ptr [EBP + -0x48]
LEA EDX,[EBP + -0x40]
MOV dword ptr [EBP + -0x58],0xffffffff
CMP EAX,EDX
JZ 0x0009dade
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0x14]
LEA ECX,[EBP + -0x58]
MOV dword ptr [EBP + 0xffffff34],ECX
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [EBP + 0xffffff68],ECX
BSWAP EAX
JMP 0x0009cda5
MOV ECX,0x7
LEA EDI,[EBX + 0xffe63544]
MOV ESI,EAX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x0009da6c
MOV ECX,0x11
LEA EDI,[EBX + 0xffe6354c]
MOV ESI,EAX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x0009da6c
MOV ECX,0x5
LEA EDI,[EBX + 0xffe6355e]
MOV ESI,EAX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x0009da6c
MOV ECX,0x5
LEA EDI,[EBX + 0xffe63564]
MOV ESI,EAX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x0009da6c
MOV ECX,0x4
LEA EDI,[EBX + 0xffe6356a]
MOV ESI,EAX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x0009da6c
MOV ECX,0xa
LEA EDI,[EBX + 0xffe65dee]
MOV ESI,EAX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x0009dc9a
MOV ESI,EAX
MOV ECX,0x12
LEA EDI,[EBX + 0xffe6356f]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0009dc9a
MOV EAX,dword ptr [EBP + 0xc]
MOV EBX,dword ptr [EBP + 0xffffff74]
MOV ESI,dword ptr [EAX + 0x8]
TEST EBX,EBX
JZ 0x0009e210
SUB ESP,0x8
LEA EAX,[EBP + -0x30]
PUSH dword ptr [EBP + 0xffffff74]
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH EAX
CALL 0x0034dd40
MOV ECX,dword ptr [EBP + 0xffffff70]
MOV EDI,dword ptr [EBP + -0x30]
LEA EAX,[ECX + 0xffe63870]
MOV EBX,ECX
PUSH EAX
CALL 0x00039440
POP EDX
POP ECX
PUSH EDI
PUSH EAX
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV EDI,dword ptr [EBP + 0xffffff70]
CDQ
PUSH EDX
MOV EBX,EDI
PUSH EAX
PUSH dword ptr [EBP + 0xffffff50]
PUSH dword ptr [EBP + 0xc]
CALL 0x0023be30
MOV EAX,dword ptr [EBP + -0x30]
LEA EDX,[EBP + -0x28]
ADD ESP,0x20
CMP EAX,EDX
JZ 0x0009dc49
SUB ESP,0xc
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
LEA EAX,[EBP + -0x7d]
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH EAX
LEA EAX,[EBP + -0x7c]
PUSH EAX
PUSH dword ptr [EBP + 0xffffff64]
PUSH ESI
CALL 0x00296fa0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0009e178
MOV dword ptr [EBP + 0xffffff44],0x3
JMP 0x0009dca4
CMP dword ptr [EBP + 0xffffff44],0x1
JZ 0x0009da6c
CMP dword ptr [EBP + 0xffffff44],0x3
JZ 0x0009dbca
MOV dword ptr [EBP + 0xffffff44],0x2
MOV dword ptr [EBP + -0x4c],0x0
JMP 0x0009dab0
OR byte ptr [EBP + -0x5d],0x20
JMP 0x0009cd2d
MOV dword ptr [EBP + 0xffffff64],0x0
MOV ESI,dword ptr [EBP + 0x14]
MOV dword ptr [EBP + -0x74],ESI
TEST AL,AL
JNZ 0x0009dd10
MOV EDI,dword ptr [EBP + 0xffffff70]
SUB ESP,0xc
LEA EAX,[EDI + 0xffe63581]
MOV EBX,EDI
PUSH EAX
CALL 0x00039440
MOV ESI,dword ptr [EBP + 0xffffff40]
POP EDX
POP ECX
PUSH ESI
PUSH EAX
MOV EAX,ESI
CDQ
PUSH EDX
PUSH ESI
PUSH dword ptr [EBP + 0xffffff50]
PUSH dword ptr [EBP + 0xc]
CALL 0x0023be30
JMP 0x0009d8e4
CMP dword ptr [EBP + 0xffffff4c],0x3a
JZ 0x0009dd60
MOV ESI,dword ptr [EBP + 0xffffff70]
SUB ESP,0xc
LEA EAX,[ESI + 0xffe63908]
MOV EBX,ESI
PUSH EAX
CALL 0x00039440
MOV EDX,dword ptr [EBP + -0x74]
MOV EDX,dword ptr [EDX]
MOV dword ptr [ESP],EAX
BSWAP EDX
MOV EAX,EDX
XOR EDX,EDX
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + 0xffffff50]
PUSH dword ptr [EBP + 0xc]
CALL 0x0023be30
ADD ESP,0x20
JMP 0x0009cdf2
MOV byte ptr [EBP + -0x70],0x0
JMP 0x0009d390
MOV ECX,EDI
MOV EAX,dword ptr [EBP + -0x74]
TEST CL,CL
JZ 0x0009dea8
MOV EAX,dword ptr [EAX + 0x4]
SUB ESP,0x8
MOV EBX,dword ptr [EBP + 0xffffff70]
BSWAP EAX
SHR EAX,0x8
PUSH EAX
PUSH dword ptr [EBP + 0xffffff60]
MOV dword ptr [EBP + 0xffffff58],EAX
LEA EAX,[EBP + -0x48]
MOV dword ptr [EBP + 0xffffff54],EAX
CALL 0x00290e20
ADD ESP,0x10
TEST AL,AL
JNZ 0x0009de40
LEA EAX,[EBP + -0x48]
MOV dword ptr [EBP + 0xffffff54],EAX
MOV EAX,dword ptr [EBP + -0x74]
MOV EDI,dword ptr [EBP + 0xffffff4c]
MOV ESI,dword ptr [EAX + 0x8]
BSWAP ESI
MOV ECX,ESI
MOV dword ptr [EBP + 0xffffff58],ESI
SAR ECX,0x1f
MOV dword ptr [EBP + 0xffffff5c],ECX
CMP EDI,0xd
JC 0x0009d5e0
CMP EDI,0xf
JBE 0x0009d56d
LEA EAX,[EDI + -0x52]
CMP EAX,0x2
JA 0x0009d5e0
SUB ESP,0x4
PUSH dword ptr [EBP + 0xffffff58]
PUSH dword ptr [EBP + 0xffffff60]
PUSH dword ptr [EBP + 0xffffff68]
CALL 0x000a90f0
MOV EDI,dword ptr [EBP + 0x8]
ADD ESP,0x10
MOV EDX,dword ptr [EDI + 0x14]
TEST EDX,EDX
JZ 0x0009de2e
TEST byte ptr [EDX + 0x1c],0x1
JZ 0x0009f3ed
SUB EAX,dword ptr [EDX + 0x4]
MOV EDI,0x1
JMP 0x0009d200
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x18]
TEST EAX,EAX
JZ 0x0009f398
TEST byte ptr [EAX + 0x1c],0x1
JZ 0x0009f3c5
MOV EDX,dword ptr [EAX + 0x34]
MOV ECX,dword ptr [EBP + 0xffffff60]
LEA ESI,[EDX + EDX*0x2 + 0xc]
LEA EDX,[EBP + -0x48]
SHL ESI,0x2
ADD ESI,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [ECX]
SUB ESP,0x8
MOV dword ptr [EBP + 0xffffff54],EDX
PUSH dword ptr [EBP + 0xffffff58]
PUSH ECX
CALL dword ptr [EAX + 0xa8]
ADD ESP,0x10
ADD ESI,EAX
LEA EAX,[EBP + -0x48]
MOV dword ptr [EBP + -0x3c],ESI
MOV dword ptr [EBP + 0xffffff54],EAX
MOV dword ptr [EBP + 0xffffff68],EAX
JMP 0x0009ddbd
MOV ESI,dword ptr [EAX + 0x8]
MOV EBX,dword ptr [EBP + 0xffffff4c]
BSWAP ESI
MOV EDX,ESI
MOV dword ptr [EBP + 0xffffff58],ESI
SAR EDX,0x1f
MOV dword ptr [EBP + 0xffffff5c],EDX
CMP EBX,0xd
JC 0x0009d1f2
CMP EBX,0xf
JBE 0x0009e290
MOV EAX,dword ptr [EBP + 0xffffff4c]
SUB EAX,0x52
CMP EAX,0x2
JA 0x0009efe0
LEA EAX,[EBP + -0x48]
MOV dword ptr [EBP + 0xffffff54],EAX
JMP 0x0009ddfa
SUB dword ptr [EBP + 0xffffff64],0x4
JMP 0x0009ce09
MOV ESI,dword ptr [EBP + 0xffffff38]
MOV ECX,dword ptr [ESI + 0xdc]
MOV ESI,dword ptr [ESI + 0xe0]
MOV EDX,ESI
MOV dword ptr [EBP + 0xffffff74],ESI
SUB EDX,ECX
SAR EDX,0x4
CMP dword ptr [EBP + 0xffffff64],EDX
JNC 0x0009f261
MOV EDX,dword ptr [EBP + 0xffffff64]
SHL EDX,0x4
LEA EDI,[ECX + EDX*0x1]
MOV ECX,dword ptr [EDI + 0x8]
MOV dword ptr [EBP + 0xffffff68],EDI
MOV dword ptr [EBP + 0xffffff74],ECX
AND ECX,0x7ffffff
MOV dword ptr [EBP + 0xffffff60],ECX
TEST byte ptr [EDI + 0xb],0x8
JZ 0x0009df6c
TEST ECX,ECX
JNZ 0x0009df88
MOV dword ptr [EBP + 0xffffff74],0x0
LEA EBX,[EBP + -0x68]
MOV dword ptr [EBP + 0xffffff48],EBX
JMP 0x0009cd80
MOV EDI,dword ptr [EBP + 0xffffff38]
MOV EBX,dword ptr [EDI + 0x3c]
MOV ECX,dword ptr [EDI + 0x38]
MOV EDX,EBX
MOV dword ptr [EBP + 0xffffff74],EBX
SUB EDX,ECX
SAR EDX,0x2
CMP dword ptr [EBP + 0xffffff60],EDX
JNC 0x0009f40c
MOV EDI,dword ptr [EBP + 0xffffff60]
MOV ECX,dword ptr [ECX + EDI*0x4]
MOV dword ptr [EBP + 0xffffff74],ECX
TEST ECX,ECX
JZ 0x0009e2c0
MOV dword ptr [EBP + 0xffffff74],0x0
LEA ESI,[EBP + -0x68]
MOV dword ptr [EBP + 0xffffff48],ESI
JMP 0x0009cd80
PUSH EAX
MOV EAX,dword ptr [EBP + 0xc]
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH dword ptr [EAX + 0x18]
PUSH dword ptr [EAX + 0x8]
PUSH dword ptr [EBP + 0x1c]
CALL 0x002cda80
MOV dword ptr [EBP + 0xffffff40],EAX
ADD ESP,0x10
CMP EAX,-0x1
JNZ 0x0009cc8a
JMP 0x0009d3ad
TEST ECX,ECX
JZ 0x0009e020
CMP ECX,-0x2
JNZ 0x0009f134
LEA ESI,[ESI]
CMP EDX,-0x3
JZ 0x0009f2f7
MOV dword ptr [EBP + -0x68],EAX
JMP 0x0009cd08
MOV EAX,dword ptr [EBP + 0x30]
TEST EAX,EAX
JZ 0x0009e05b
MOV EAX,dword ptr [EBP + 0x30]
MOV ECX,dword ptr [EBP + 0xffffff50]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + ECX*0x4]
MOV dword ptr [EBP + 0xffffff74],EAX
TEST EAX,EAX
JNZ 0x0009ccec
MOV EDI,dword ptr [EBP + 0xffffff38]
MOV ECX,dword ptr [EBP + 0xffffff64]
MOV EAX,dword ptr [EDI + 0xb0]
CMP ECX,EAX
JC 0x0009f240
SUB ECX,EAX
MOV EDX,dword ptr [EDI + 0xbc]
MOV EAX,dword ptr [EDI + 0xc0]
MOV dword ptr [EBP + 0xffffff74],EAX
SUB EAX,EDX
SAR EAX,0x2
CMP ECX,EAX
JNC 0x0009f282
MOV EAX,dword ptr [EDX + ECX*0x4]
MOV dword ptr [EBP + 0xffffff74],EAX
TEST EAX,EAX
JZ 0x0009f240
MOV EAX,dword ptr [EBP + 0xffffff74]
TEST byte ptr [EAX + 0x2a],0x10
JZ 0x0009ccec
SUB ESP,0x8
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH EAX
MOV EAX,dword ptr [EBP + 0xc]
PUSH dword ptr [EAX]
CALL 0x0034cd90
MOV dword ptr [EBP + 0xffffff74],EAX
MOV EAX,dword ptr [EAX + 0x10]
ADD ESP,0x10
MOV ECX,dword ptr [EBP + -0x68]
LEA EDX,[EAX + -0x1]
CMP EDX,-0x3
JBE 0x0009e010
TEST ECX,ECX
JZ 0x0009cd01
MOV EBX,dword ptr [EBP + 0xffffff70]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe6bc70]
PUSH EAX
LEA EAX,[EBX + 0xffe63385]
PUSH 0x716
PUSH EAX
CALL 0x002446e0
MOV EDX,dword ptr [EBP + 0xffffff74]
MOVZX EAX,byte ptr [EDX + 0x2a]
MOV byte ptr [EBP + 0xffffff58],AL
AND EAX,0x7
JZ 0x0009e2f8
CMP AL,0x4
JNZ 0x0009d17c
MOV EDX,dword ptr [EBP + 0xffffff74]
MOVZX EAX,byte ptr [EDX + 0x28]
MOV byte ptr [EBP + 0xffffff58],AL
SHR AL,0x4
CMP AL,0x2
JZ 0x0009cec6
TEST byte ptr [EDX + 0x2c],0x2
JNZ 0x0009cec6
MOV EAX,dword ptr [EBX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0009f49e
CMP byte ptr [EAX + 0x49b1],0x0
JZ 0x0009d17c
JMP 0x0009cec6
SUB ESP,0x4
LEA EDX,[EBP + -0x78]
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH EDX
PUSH EAX
PUSH ESI
CALL 0x00291140
MOV EDI,EAX
MOV EAX,dword ptr [EBP + -0x78]
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0009f028
TEST EDI,EDI
JZ 0x0009dc6e
MOV ESI,dword ptr [EDI + 0x4]
MOV EDI,dword ptr [EBP + 0xffffff70]
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 0x0009dc6e
CMP CL,0x4
JZ 0x0009d63d
MOV EAX,dword ptr [EBP + 0xffffff74]
CMP byte ptr [EAX + 0x2b],0x0
JS 0x0009d6b0
JMP 0x0009d76d
MOV EAX,dword ptr [EBP + 0xffffff74]
MOVZX EAX,byte ptr [EAX + 0x2b]
TEST AL,0x20
JZ 0x0009d765
JMP 0x0009d63d
SUB ESP,0x8
PUSH dword ptr [EBP + 0xffffff64]
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH ESI
CALL 0x00297920
MOV ECX,dword ptr [EBP + 0xffffff70]
MOV EDI,EAX
MOV EBX,ECX
LEA EAX,[ECX + 0xffe63818]
MOV dword ptr [ESP],EAX
CALL 0x00039440
ADD ESP,0xc
PUSH dword ptr [EBP + 0xffffff64]
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH EDI
PUSH EAX
MOV EAX,dword ptr [EBP + 0xffffff40]
CDQ
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + 0xffffff50]
PUSH dword ptr [EBP + 0xc]
CALL 0x0023be30
ADD ESP,0x20
JMP 0x0009dc49
MOV EAX,dword ptr [EBP + 0xffffff74]
MOVZX EAX,byte ptr [EAX + 0x29]
MOV byte ptr [EBP + 0xffffff68],AL
AND EAX,0x3
JMP 0x0009d85a
LEA ECX,[EBP + -0x48]
MOV dword ptr [EBP + 0xffffff54],ECX
JMP 0x0009d56d
MOV EBX,dword ptr [EBP + 0xffffff70]
SUB ESP,0xc
LEA EAX,[EBX + 0xffe635a3]
PUSH EAX
CALL 0x00039440
ADD ESP,0x10
MOV ESI,EAX
JMP 0x0009d349
MOV EAX,dword ptr [EBP + 0xc]
SUB ESP,0x4
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH EDI
PUSH dword ptr [EBP + 0xffffff38]
PUSH dword ptr [EAX]
CALL 0x0034cd20
ADD ESP,0x10
TEST AL,AL
JNZ 0x0009efa8
LEA EAX,[EBP + -0x68]
MOV dword ptr [EBP + 0xffffff48],EAX
JMP 0x0009d9f1
MOV ESI,dword ptr [EDX + 0xc]
TEST ESI,ESI
JNZ 0x0009d17c
TEST byte ptr [EDX + 0x2b],0x20
JZ 0x0009d17c
JMP 0x0009e131
CALL 0x00039440
MOV EDX,dword ptr [EBP + -0x74]
POP ESI
POP EDI
MOV EDX,dword ptr [EDX]
PUSH dword ptr [EBP + 0xffffff4c]
PUSH EAX
BSWAP EDX
MOV EAX,EDX
XOR EDX,EDX
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + 0xffffff50]
PUSH dword ptr [EBP + 0xc]
CALL 0x0023be30
ADD ESP,0x20
JMP 0x0009d278
MOV EDX,dword ptr [EBP + 0xffffff74]
CMP byte ptr [EDX + 0x2a],0x0
JS 0x0009d85a
JMP 0x0009d943
MOV EAX,dword ptr [EBP + 0x14]
LEA ECX,[EBP + -0x68]
MOV dword ptr [EBP + 0xffffff48],ECX
MOV EAX,dword ptr [EAX + 0x4]
BSWAP EAX
JMP 0x0009cd80
MOV EDI,dword ptr [EBP + 0xffffff70]
SUB ESP,0xc
LEA EAX,[EDI + 0xffe63528]
MOV EBX,EDI
PUSH EAX
JMP 0x0009e3ba
LEA EDX,[EBP + -0x48]
XOR EAX,EAX
MOV dword ptr [EBP + 0xffffff54],EDX
JMP 0x0009d200
MOV ECX,dword ptr [EBP + 0xffffff74]
MOVZX ECX,byte ptr [ECX + 0x28]
MOV byte ptr [EBP + 0xffffff68],CL
SHR CL,0x4
CMP CL,0x2
JZ 0x0009d312
MOV ECX,dword ptr [EBP + 0xffffff74]
TEST byte ptr [ECX + 0x2c],0x2
JZ 0x0009d701
JMP 0x0009d312
SUB ESP,0x8
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH EAX
PUSH ESI
CALL 0x00297920
MOV EDX,dword ptr [EBP + 0xffffff70]
MOV ESI,EAX
MOV EBX,EDX
LEA EAX,[EDX + 0xffe638c4]
MOV dword ptr [ESP],EAX
CALL 0x00039440
POP ECX
POP EBX
PUSH ESI
PUSH EAX
MOV EBX,dword ptr [EBP + 0xffffff70]
CALL 0x0023b870
ADD ESP,0x10
JMP 0x0009e19c
MOV ESI,dword ptr [EBP + 0xffffff70]
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 + 0xffffff38]
CALL EDX
JMP 0x0009cc2d
MOV EBX,dword ptr [EBP + 0xffffff70]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe6bc8c]
PUSH EAX
LEA EAX,[EBX + 0xffe63385]
PUSH 0x70c
PUSH EAX
CALL 0x002446e0
PUSH EBX
MOV EBX,dword ptr [EBP + 0xffffff70]
LEA EAX,[EBX + 0xffe6c504]
PUSH EAX
LEA EAX,[EBX + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff70]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe6bc70]
PUSH EAX
LEA EAX,[EBX + 0xffe63385]
PUSH 0x716
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff70]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe6bca4]
PUSH EAX
LEA EAX,[EBX + 0xffe634d9]
PUSH 0x17f
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff70]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe6bd98]
PUSH EAX
LEA EAX,[EBX + 0xffe63385]
PUSH 0x8c1
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff70]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe6bda8]
PUSH EAX
LEA EAX,[EBX + 0xffe63385]
PUSH 0x8ad
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff70]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe6c444]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0xc5
PUSH EAX
LEA EAX,[EBP + -0x48]
MOV dword ptr [EBP + 0xffffff54],EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff70]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe6c134]
PUSH EAX
LEA EAX,[EBX + 0xffe633e0]
PUSH 0x1ce
PUSH EAX
LEA EAX,[EBP + -0x48]
MOV dword ptr [EBP + 0xffffff54],EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff70]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe6bc8c]
PUSH EAX
LEA EAX,[EBX + 0xffe63385]
PUSH 0x70d
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff70]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe6c124]
PUSH EAX
LEA EAX,[EBX + 0xffe5e26d]
PUSH 0x69
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff70]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe6bc64]
PUSH EAX
LEA EAX,[EBX + 0xffe69dae]
PUSH 0xd2c
PUSH EAX
CALL 0x002446e0
SUB ESP,0x4
LEA EAX,[ECX + 0xffe6c504]
MOV EBX,ECX
PUSH EAX
LEA EAX,[ECX + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
LEA EAX,[EBP + -0x48]
MOV dword ptr [EBP + 0xffffff54],EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff70]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe6c504]
PUSH EAX
LEA EAX,[EBX + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
CALL 0x002446e0
LEA EAX,[EBP + -0x48]
MOV dword ptr [EBP + 0xffffff54],EAX
CALL 0x00095ef0
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH ECX
LEA EAX,[EBX + 0xffe6c110]
PUSH EAX
LEA EAX,[EBX + 0xffe634d9]
PUSH 0xa4
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH ECX
LEA EAX,[EBX + 0xffe6c444]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0xc5
PUSH EAX
LEA EAX,[EBP + -0x48]
MOV dword ptr [EBP + 0xffffff54],EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH EAX
LEA EAX,[EBX + 0xffe6c444]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0xc5
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH EDI
LEA EAX,[EBX + 0xffe6c404]
PUSH EAX
LEA EAX,[EBX + 0xffe63385]
PUSH 0x50b
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH EAX
LEA EAX,[EBX + 0xffe6c504]
PUSH EAX
LEA EAX,[EBX + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
CALL 0x002446e0
PUSH EBX
MOV EBX,dword ptr [EBP + 0xffffff70]
LEA EAX,[EBX + 0xffe6bcb8]
PUSH EAX
LEA EAX,[EBX + 0xffe69dae]
PUSH 0x10a1
PUSH EAX
CALL 0x002446e0
PUSH EBX
MOV EBX,dword ptr [EBP + 0xffffff70]
LEA EAX,[EBX + 0xffe6c504]
PUSH EAX
LEA EAX,[EBX + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
LEA EAX,[EBP + -0x48]
MOV dword ptr [EBP + 0xffffff54],EAX
CALL 0x002446e0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_0009cbc0(int param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,int param_9,uint param_10,int *param_11\n                 )\n\n{\n  code *pcVar1;\n  undefined **ppuVar2;\n  undefined *puVar3;\n  int *piVar4;\n  int iVar5;\n  undefined1 *puVar6;\n  char cVar7;\n  code cVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  byte *pbVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  byte bVar16;\n  undefined **ppuVar17;\n  undefined4 extraout_ECX;\n  undefined **extraout_ECX_00;\n  byte bVar18;\n  code cVar19;\n  undefined **ppuVar20;\n  byte *pbVar21;\n  undefined1 *puVar22;\n  undefined1 *puVar23;\n  byte bVar24;\n  byte *pbVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  undefined1 auStack_ec [12];\n  undefined **local_e0;\n  undefined **local_dc;\n  uint local_d8;\n  char local_d1;\n  byte **local_d0;\n  int *local_cc;\n  int local_c8;\n  uint local_c4;\n  int local_c0;\n  byte **local_bc;\n  uint local_b8;\n  int local_b4;\n  byte **local_b0;\n  uint local_ac;\n  int local_a8;\n  int *local_a4;\n  uint local_a0;\n  byte **local_9c;\n  int local_98;\n  undefined **local_94;\n  undefined **local_90;\n  undefined1 local_81;\n  undefined1 local_80 [4];\n  int local_7c;\n  uint *local_78;\n  char local_74;\n  int local_70;\n  byte *local_6c;\n  undefined4 local_68;\n  uint local_64;\n  undefined *local_60;\n  byte *local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  byte *local_50;\n  byte *local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined *local_40;\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  bVar29 = 0;\n  local_94 = &__DT_PLTGOT;\n  local_d1 = param_7;\n  if (param_3 != 4) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/sparc.cc",0x10a1,"relocate_section");\n  }\n  local_74 = '\0';\n  local_70 = 0;\n  local_cc = (int *)param_2[2];\n  pcVar1 = *(code **)(*local_cc + 0x8c);\n  if (pcVar1 == FUN_00070d40) {\n                    /* try { // try from 0009cc27 to 0009cc2c has its CatchHandler @ 0009f51d */\n    local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc);\n  }\n  else {\n                    /* try { // try from 0009f0c1 to 0009f0c2 has its CatchHandler @ 0009f51d */\n    local_d8 = (*pcVar1)(local_cc);\n  }\n  puVar22 = auStack_ec;\n  local_c0 = 0;\n  local_b4 = 0;\n  local_e0 = local_94 + 0x1f2;\n  puVar6 = auStack_ec;\n  local_dc = local_e0;\n  if (param_5 != 0) {\n    do {\n      puVar22 = puVar6;\n      uVar9 = *param_4;\n      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */\n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */\n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      param_4 = param_4 + 3;\n      puVar6 = puVar22;\n    } while (param_5 != local_b4);\n  }\n  if (local_74 == '\0') {\n    return;\n  }\n  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n  *(undefined4 *)(puVar22 + -0x14) = 0x9f087;\n  uVar15 = gettext();\n  *(undefined4 *)(puVar22 + -0x10) = uVar15;\n  *(undefined4 *)(puVar22 + -0x14) = 0x9f08f;\n  FUN_0023b810();\n  return;\n}\n\n" comment (function_definition "void FUN_0009cbc0(int param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,int param_9,uint param_10,int *param_11\n                 )\n\n{\n  code *pcVar1;\n  undefined **ppuVar2;\n  undefined *puVar3;\n  int *piVar4;\n  int iVar5;\n  undefined1 *puVar6;\n  char cVar7;\n  code cVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  byte *pbVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  byte bVar16;\n  undefined **ppuVar17;\n  undefined4 extraout_ECX;\n  undefined **extraout_ECX_00;\n  byte bVar18;\n  code cVar19;\n  undefined **ppuVar20;\n  byte *pbVar21;\n  undefined1 *puVar22;\n  undefined1 *puVar23;\n  byte bVar24;\n  byte *pbVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  undefined1 auStack_ec [12];\n  undefined **local_e0;\n  undefined **local_dc;\n  uint local_d8;\n  char local_d1;\n  byte **local_d0;\n  int *local_cc;\n  int local_c8;\n  uint local_c4;\n  int local_c0;\n  byte **local_bc;\n  uint local_b8;\n  int local_b4;\n  byte **local_b0;\n  uint local_ac;\n  int local_a8;\n  int *local_a4;\n  uint local_a0;\n  byte **local_9c;\n  int local_98;\n  undefined **local_94;\n  undefined **local_90;\n  undefined1 local_81;\n  undefined1 local_80 [4];\n  int local_7c;\n  uint *local_78;\n  char local_74;\n  int local_70;\n  byte *local_6c;\n  undefined4 local_68;\n  uint local_64;\n  undefined *local_60;\n  byte *local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  byte *local_50;\n  byte *local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined *local_40;\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  bVar29 = 0;\n  local_94 = &__DT_PLTGOT;\n  local_d1 = param_7;\n  if (param_3 != 4) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/sparc.cc",0x10a1,"relocate_section");\n  }\n  local_74 = '\0';\n  local_70 = 0;\n  local_cc = (int *)param_2[2];\n  pcVar1 = *(code **)(*local_cc + 0x8c);\n  if (pcVar1 == FUN_00070d40) {\n                    /* try { // try from 0009cc27 to 0009cc2c has its CatchHandler @ 0009f51d */\n    local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc);\n  }\n  else {\n                    /* try { // try from 0009f0c1 to 0009f0c2 has its CatchHandler @ 0009f51d */\n    local_d8 = (*pcVar1)(local_cc);\n  }\n  puVar22 = auStack_ec;\n  local_c0 = 0;\n  local_b4 = 0;\n  local_e0 = local_94 + 0x1f2;\n  puVar6 = auStack_ec;\n  local_dc = local_e0;\n  if (param_5 != 0) {\n    do {\n      puVar22 = puVar6;\n      uVar9 = *param_4;\n      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */\n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */\n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      param_4 = param_4 + 3;\n      puVar6 = puVar22;\n    } while (param_5 != local_b4);\n  }\n  if (local_74 == '\0') {\n    return;\n  }\n  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n  *(undefined4 *)(puVar22 + -0x14) = 0x9f087;\n  uVar15 = gettext();\n  *(undefined4 *)(puVar22 + -0x10) = uVar15;\n  *(undefined4 *)(puVar22 + -0x14) = 0x9f08f;\n  FUN_0023b810();\n  return;\n}" primitive_type (function_declarator "FUN_0009cbc0(int param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,int param_9,uint param_10,int *param_11\n                 )" identifier (parameter_list "(int param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,int param_9,uint param_10,int *param_11\n                 )" ( (parameter_declaration "int param_1" primitive_type 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 "int param_9" primitive_type identifier) , (parameter_declaration "uint param_10" type_identifier identifier) , (parameter_declaration "int *param_11" primitive_type (pointer_declarator "*param_11" * identifier)) ))) (compound_statement "{\n  code *pcVar1;\n  undefined **ppuVar2;\n  undefined *puVar3;\n  int *piVar4;\n  int iVar5;\n  undefined1 *puVar6;\n  char cVar7;\n  code cVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  byte *pbVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  byte bVar16;\n  undefined **ppuVar17;\n  undefined4 extraout_ECX;\n  undefined **extraout_ECX_00;\n  byte bVar18;\n  code cVar19;\n  undefined **ppuVar20;\n  byte *pbVar21;\n  undefined1 *puVar22;\n  undefined1 *puVar23;\n  byte bVar24;\n  byte *pbVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  undefined1 auStack_ec [12];\n  undefined **local_e0;\n  undefined **local_dc;\n  uint local_d8;\n  char local_d1;\n  byte **local_d0;\n  int *local_cc;\n  int local_c8;\n  uint local_c4;\n  int local_c0;\n  byte **local_bc;\n  uint local_b8;\n  int local_b4;\n  byte **local_b0;\n  uint local_ac;\n  int local_a8;\n  int *local_a4;\n  uint local_a0;\n  byte **local_9c;\n  int local_98;\n  undefined **local_94;\n  undefined **local_90;\n  undefined1 local_81;\n  undefined1 local_80 [4];\n  int local_7c;\n  uint *local_78;\n  char local_74;\n  int local_70;\n  byte *local_6c;\n  undefined4 local_68;\n  uint local_64;\n  undefined *local_60;\n  byte *local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  byte *local_50;\n  byte *local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined *local_40;\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  bVar29 = 0;\n  local_94 = &__DT_PLTGOT;\n  local_d1 = param_7;\n  if (param_3 != 4) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/sparc.cc",0x10a1,"relocate_section");\n  }\n  local_74 = '\0';\n  local_70 = 0;\n  local_cc = (int *)param_2[2];\n  pcVar1 = *(code **)(*local_cc + 0x8c);\n  if (pcVar1 == FUN_00070d40) {\n                    /* try { // try from 0009cc27 to 0009cc2c has its CatchHandler @ 0009f51d */\n    local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc);\n  }\n  else {\n                    /* try { // try from 0009f0c1 to 0009f0c2 has its CatchHandler @ 0009f51d */\n    local_d8 = (*pcVar1)(local_cc);\n  }\n  puVar22 = auStack_ec;\n  local_c0 = 0;\n  local_b4 = 0;\n  local_e0 = local_94 + 0x1f2;\n  puVar6 = auStack_ec;\n  local_dc = local_e0;\n  if (param_5 != 0) {\n    do {\n      puVar22 = puVar6;\n      uVar9 = *param_4;\n      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */\n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */\n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      param_4 = param_4 + 3;\n      puVar6 = puVar22;\n    } while (param_5 != local_b4);\n  }\n  if (local_74 == '\0') {\n    return;\n  }\n  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n  *(undefined4 *)(puVar22 + -0x14) = 0x9f087;\n  uVar15 = gettext();\n  *(undefined4 *)(puVar22 + -0x10) = uVar15;\n  *(undefined4 *)(puVar22 + -0x14) = 0x9f08f;\n  FUN_0023b810();\n  return;\n}" { (declaration "code *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "undefined **ppuVar2;" type_identifier (pointer_declarator "**ppuVar2" * (pointer_declarator "*ppuVar2" * identifier)) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined1 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "char cVar7;" primitive_type identifier ;) (declaration "code cVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "byte *pbVar13;" type_identifier (pointer_declarator "*pbVar13" * identifier) ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "byte bVar16;" type_identifier identifier ;) (declaration "undefined **ppuVar17;" type_identifier (pointer_declarator "**ppuVar17" * (pointer_declarator "*ppuVar17" * identifier)) ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "undefined **extraout_ECX_00;" type_identifier (pointer_declarator "**extraout_ECX_00" * (pointer_declarator "*extraout_ECX_00" * identifier)) ;) (declaration "byte bVar18;" type_identifier identifier ;) (declaration "code cVar19;" type_identifier identifier ;) (declaration "undefined **ppuVar20;" type_identifier (pointer_declarator "**ppuVar20" * (pointer_declarator "*ppuVar20" * identifier)) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "undefined1 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "undefined1 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "byte bVar24;" type_identifier identifier ;) (declaration "byte *pbVar25;" type_identifier (pointer_declarator "*pbVar25" * identifier) ;) (declaration "bool bVar26;" primitive_type identifier ;) (declaration "bool bVar27;" primitive_type identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "byte bVar29;" type_identifier identifier ;) (declaration "undefined1 auStack_ec [12];" type_identifier (array_declarator "auStack_ec [12]" identifier [ number_literal ]) ;) (declaration "undefined **local_e0;" type_identifier (pointer_declarator "**local_e0" * (pointer_declarator "*local_e0" * identifier)) ;) (declaration "undefined **local_dc;" type_identifier (pointer_declarator "**local_dc" * (pointer_declarator "*local_dc" * identifier)) ;) (declaration "uint local_d8;" type_identifier identifier ;) (declaration "char local_d1;" primitive_type identifier ;) (declaration "byte **local_d0;" type_identifier (pointer_declarator "**local_d0" * (pointer_declarator "*local_d0" * identifier)) ;) (declaration "int *local_cc;" primitive_type (pointer_declarator "*local_cc" * identifier) ;) (declaration "int local_c8;" primitive_type identifier ;) (declaration "uint local_c4;" type_identifier identifier ;) (declaration "int local_c0;" primitive_type identifier ;) (declaration "byte **local_bc;" type_identifier (pointer_declarator "**local_bc" * (pointer_declarator "*local_bc" * identifier)) ;) (declaration "uint local_b8;" type_identifier identifier ;) (declaration "int local_b4;" primitive_type identifier ;) (declaration "byte **local_b0;" type_identifier (pointer_declarator "**local_b0" * (pointer_declarator "*local_b0" * identifier)) ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "int *local_a4;" primitive_type (pointer_declarator "*local_a4" * identifier) ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "byte **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 "undefined1 local_81;" type_identifier identifier ;) (declaration "undefined1 local_80 [4];" type_identifier (array_declarator "local_80 [4]" identifier [ number_literal ]) ;) (declaration "int local_7c;" primitive_type identifier ;) (declaration "uint *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "char local_74;" primitive_type identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "byte *local_6c;" type_identifier (pointer_declarator "*local_6c" * identifier) ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "uint local_64;" type_identifier identifier ;) (declaration "undefined *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "byte *local_5c;" type_identifier (pointer_declarator "*local_5c" * identifier) ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "byte *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "byte *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "undefined *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (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 "bVar29 = 0;" (assignment_expression "bVar29 = 0" identifier = number_literal) ;) (expression_statement "local_94 = &__DT_PLTGOT;" (assignment_expression "local_94 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "local_d1 = param_7;" (assignment_expression "local_d1 = param_7" identifier = identifier) ;) (if_statement "if (param_3 != 4) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/sparc.cc",0x10a1,"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/sparc.cc",0x10a1,"relocate_section");\n  }" { comment (expression_statement "FUN_002446e0("../../gold/sparc.cc",0x10a1,"relocate_section");" (call_expression "FUN_002446e0("../../gold/sparc.cc",0x10a1,"relocate_section")" identifier (argument_list "("../../gold/sparc.cc",0x10a1,"relocate_section")" ( (string_literal ""../../gold/sparc.cc"" " string_content ") , number_literal , (string_literal ""relocate_section"" " string_content ") ))) ;) })) (expression_statement "local_74 = '\0';" (assignment_expression "local_74 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_cc = (int *)param_2[2];" (assignment_expression "local_cc = (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 "pcVar1 = *(code **)(*local_cc + 0x8c);" (assignment_expression "pcVar1 = *(code **)(*local_cc + 0x8c)" identifier = (pointer_expression "*(code **)(*local_cc + 0x8c)" * (cast_expression "(code **)(*local_cc + 0x8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_cc + 0x8c)" ( (binary_expression "*local_cc + 0x8c" (pointer_expression "*local_cc" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar1 == FUN_00070d40) {\n                    /* try { // try from 0009cc27 to 0009cc2c has its CatchHandler @ 0009f51d */\n    local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc);\n  }\n  else {\n                    /* try { // try from 0009f0c1 to 0009f0c2 has its CatchHandler @ 0009f51d */\n    local_d8 = (*pcVar1)(local_cc);\n  }" if (parenthesized_expression "(pcVar1 == FUN_00070d40)" ( (binary_expression "pcVar1 == FUN_00070d40" identifier == identifier) )) (compound_statement "{\n                    /* try { // try from 0009cc27 to 0009cc2c has its CatchHandler @ 0009f51d */\n    local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc);\n  }" { comment (expression_statement "local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc);" (assignment_expression "local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc)" identifier = (call_expression "(**(code **)(*local_cc + 0xbc))(local_cc)" (parenthesized_expression "(**(code **)(*local_cc + 0xbc))" ( (pointer_expression "**(code **)(*local_cc + 0xbc)" * (pointer_expression "*(code **)(*local_cc + 0xbc)" * (cast_expression "(code **)(*local_cc + 0xbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_cc + 0xbc)" ( (binary_expression "*local_cc + 0xbc" (pointer_expression "*local_cc" * identifier) + number_literal) ))))) )) (argument_list "(local_cc)" ( identifier )))) ;) }) (else_clause "else {\n                    /* try { // try from 0009f0c1 to 0009f0c2 has its CatchHandler @ 0009f51d */\n    local_d8 = (*pcVar1)(local_cc);\n  }" else (compound_statement "{\n                    /* try { // try from 0009f0c1 to 0009f0c2 has its CatchHandler @ 0009f51d */\n    local_d8 = (*pcVar1)(local_cc);\n  }" { comment (expression_statement "local_d8 = (*pcVar1)(local_cc);" (assignment_expression "local_d8 = (*pcVar1)(local_cc)" identifier = (call_expression "(*pcVar1)(local_cc)" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "(local_cc)" ( identifier )))) ;) }))) (expression_statement "puVar22 = auStack_ec;" (assignment_expression "puVar22 = auStack_ec" identifier = identifier) ;) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" identifier = number_literal) ;) (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" identifier = number_literal) ;) (expression_statement "local_e0 = local_94 + 0x1f2;" (assignment_expression "local_e0 = local_94 + 0x1f2" identifier = (binary_expression "local_94 + 0x1f2" identifier + number_literal)) ;) (expression_statement "puVar6 = auStack_ec;" (assignment_expression "puVar6 = auStack_ec" identifier = identifier) ;) (expression_statement "local_dc = local_e0;" (assignment_expression "local_dc = local_e0" identifier = identifier) ;) (if_statement "if (param_5 != 0) {\n    do {\n      puVar22 = puVar6;\n      uVar9 = *param_4;\n      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */\n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */\n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      param_4 = param_4 + 3;\n      puVar6 = puVar22;\n    } while (param_5 != local_b4);\n  }" if (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      puVar22 = puVar6;\n      uVar9 = *param_4;\n      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */\n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */\n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      param_4 = param_4 + 3;\n      puVar6 = puVar22;\n    } while (param_5 != local_b4);\n  }" { (do_statement "do {\n      puVar22 = puVar6;\n      uVar9 = *param_4;\n      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */\n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */\n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      param_4 = param_4 + 3;\n      puVar6 = puVar22;\n    } while (param_5 != local_b4);" do (compound_statement "{\n      puVar22 = puVar6;\n      uVar9 = *param_4;\n      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */\n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */\n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      param_4 = param_4 + 3;\n      puVar6 = puVar22;\n    }" { (expression_statement "puVar22 = puVar6;" (assignment_expression "puVar22 = puVar6" identifier = identifier) ;) (expression_statement "uVar9 = *param_4;" (assignment_expression "uVar9 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (if_statement "if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */\n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */\n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }" if (parenthesized_expression "(local_d1 == '\0')" ( (binary_expression "local_d1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */\n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }" { (labeled_statement "LAB_0009cc8a:\n        uVar9 = param_4[1];" statement_identifier : (expression_statement "uVar9 = param_4[1];" (assignment_expression "uVar9 = param_4[1]" identifier = (subscript_expression "param_4[1]" identifier [ number_literal ])) ;)) (expression_statement "local_6c = (byte *)0x0;" (assignment_expression "local_6c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_68 = 0xffffffff;" (assignment_expression "local_68 = 0xffffffff" identifier = number_literal) ;) (expression_statement "uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "local_64 = 0x80000000;" (assignment_expression "local_64 = 0x80000000" identifier = number_literal) ;) (expression_statement "local_a0 = uVar9 >> 8;" (assignment_expression "local_a0 = uVar9 >> 8" identifier = (binary_expression "uVar9 >> 8" identifier >> number_literal)) ;) (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)) ;) (if_statement "if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }" if (parenthesized_expression "(local_a0 < local_d8)" ( (binary_expression "local_a0 < local_d8" identifier < identifier) )) (compound_statement "{\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }" { (if_statement "if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }" if (parenthesized_expression "((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))" ( (binary_expression "(param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0)" (parenthesized_expression "(param_11 != (int *)0x0)" ( (binary_expression "param_11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0)" ( (comma_expression "local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0" (assignment_expression "local_90 = *(undefined ***)(*param_11 + local_b4 * 4)" identifier = (pointer_expression "*(undefined ***)(*param_11 + local_b4 * 4)" * (cast_expression "(undefined ***)(*param_11 + local_b4 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*param_11 + local_b4 * 4)" ( (binary_expression "*param_11 + local_b4 * 4" (pointer_expression "*param_11" * identifier) + (binary_expression "local_b4 * 4" identifier * number_literal)) ))))) , (binary_expression "local_90 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ))) )) (compound_statement "{\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }" { (labeled_statement "LAB_0009ccec:\n            pbVar13 = local_90[4];" statement_identifier : (expression_statement "pbVar13 = local_90[4];" (assignment_expression "pbVar13 = local_90[4]" identifier = (subscript_expression "local_90[4]" identifier [ number_literal ])) ;)) (expression_statement "pbVar21 = pbVar13 + -1;" (assignment_expression "pbVar21 = pbVar13 + -1" identifier = (binary_expression "pbVar13 + -1" identifier + number_literal)) ;) (if_statement "if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;" if (parenthesized_expression "((byte *)0xfffffffd < pbVar21)" ( (binary_expression "(byte *)0xfffffffd < pbVar21" (cast_expression "(byte *)0xfffffffd" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (goto_statement "goto LAB_0009cd01;" goto statement_identifier ;)) (labeled_statement "LAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }" statement_identifier : (if_statement "if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }" if (parenthesized_expression "(pbVar21 == (byte *)0xfffffffd)" ( (binary_expression "pbVar21 == (byte *)0xfffffffd" identifier == (cast_expression "(byte *)0xfffffffd" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650dd" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x650dd" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x70d;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x70d" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f318;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f318" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) }))) (goto_statement "goto LAB_0009cd08;" goto statement_identifier ;) })) (expression_statement "local_90 = (undefined **)local_cc[0x38];" (assignment_expression "local_90 = (undefined **)local_cc[0x38]" identifier = (cast_expression "(undefined **)local_cc[0x38]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_cc[0x38]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }" if (parenthesized_expression "((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0)" ( (binary_expression "(uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0" (call_expression "(uint)((int)local_90 - local_cc[0x37] >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_90 - local_cc[0x37] >> 4)" ( (binary_expression "(int)local_90 - local_cc[0x37] >> 4" (binary_expression "(int)local_90 - local_cc[0x37]" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "local_cc[0x37]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x6509a" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x6509a" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x8c1;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x8c1" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f282;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f282" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);" (assignment_expression "local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10)" identifier = (cast_expression "(byte **)(local_cc[0x37] + local_a0 * 0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_cc[0x37] + local_a0 * 0x10)" ( (binary_expression "local_cc[0x37] + local_a0 * 0x10" (subscript_expression "local_cc[0x37]" identifier [ number_literal ]) + (binary_expression "local_a0 * 0x10" identifier * number_literal)) )))) ;) (expression_statement "local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);" (assignment_expression "local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff)" identifier = (cast_expression "(int *)((uint)local_9c[2] & 0x7ffffff)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_9c[2] & 0x7ffffff)" ( (binary_expression "(uint)local_9c[2] & 0x7ffffff" (cast_expression "(uint)local_9c[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_9c[2]" identifier [ number_literal ])) & number_literal) )))) ;) (if_statement "if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }" if (parenthesized_expression "(((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0))" ( (binary_expression "((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)" (parenthesized_expression "((*(byte *)((int)local_9c + 0xb) & 8) != 0)" ( (binary_expression "(*(byte *)((int)local_9c + 0xb) & 8) != 0" (parenthesized_expression "(*(byte *)((int)local_9c + 0xb) & 8)" ( (binary_expression "*(byte *)((int)local_9c + 0xb) & 8" (pointer_expression "*(byte *)((int)local_9c + 0xb)" * (cast_expression "(byte *)((int)local_9c + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 0xb)" ( (binary_expression "(int)local_9c + 0xb" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(local_a4 != (int *)0x0)" ( (binary_expression "local_a4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }" { (expression_statement "local_90 = (undefined **)local_cc[0xf];" (assignment_expression "local_90 = (undefined **)local_cc[0xf]" identifier = (cast_expression "(undefined **)local_cc[0xf]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_cc[0xf]" identifier [ number_literal ]))) ;) (if_statement "if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }" if (parenthesized_expression "((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4)" ( (binary_expression "(int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4" (cast_expression "(int *)((int)local_90 - local_cc[0xe] >> 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 - local_cc[0xe] >> 2)" ( (binary_expression "(int)local_90 - local_cc[0xe] >> 2" (binary_expression "(int)local_90 - local_cc[0xe]" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "local_cc[0xe]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }" { (expression_statement "*(int **)(puVar22 + -4) = local_cc;" (assignment_expression "*(int **)(puVar22 + -4) = local_cc" (pointer_expression "*(int **)(puVar22 + -4)" * (cast_expression "(int **)(puVar22 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eff" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64eff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x50b;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x50b" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f42b;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f42b" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);" (assignment_expression "local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4)" identifier = (pointer_expression "*(undefined ***)(local_cc[0xe] + (int)local_a4 * 4)" * (cast_expression "(undefined ***)(local_cc[0xe] + (int)local_a4 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(local_cc[0xe] + (int)local_a4 * 4)" ( (binary_expression "local_cc[0xe] + (int)local_a4 * 4" (subscript_expression "local_cc[0xe]" identifier [ number_literal ]) + (binary_expression "(int)local_a4 * 4" (cast_expression "(int)local_a4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (if_statement "if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }" if (parenthesized_expression "(local_90 != (undefined **)0x0)" ( (binary_expression "local_90 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }" { (expression_statement "local_90 = (undefined **)0x0;" (assignment_expression "local_90 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (goto_statement "goto LAB_0009cd80;" goto statement_identifier ;) })) (expression_statement "*(int **)(puVar22 + -8) = local_a4;" (assignment_expression "*(int **)(puVar22 + -8) = local_a4" (pointer_expression "*(int **)(puVar22 + -8)" * (cast_expression "(int **)(puVar22 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar22 + -0xc) = local_cc;" (assignment_expression "*(int **)(puVar22 + -0xc) = local_cc" (pointer_expression "*(int **)(puVar22 + -0xc)" * (cast_expression "(int **)(puVar22 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = *param_2;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = *param_2" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (pointer_expression "*param_2" * identifier)) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9e2da;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9e2da" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_0034cd20();" (assignment_expression "cVar7 = FUN_0034cd20()" identifier = (call_expression "FUN_0034cd20()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }" if (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }" { (expression_statement "uVar9 = param_4[1] >> 0x18;" (assignment_expression "uVar9 = param_4[1] >> 0x18" identifier = (binary_expression "param_4[1] >> 0x18" (subscript_expression "param_4[1]" identifier [ number_literal ]) >> number_literal)) ;) (goto_statement "goto LAB_0009cd80;" goto statement_identifier ;) })) (goto_statement "goto LAB_0009d9f1;" goto statement_identifier ;) })) (expression_statement "local_90 = (undefined **)0x0;" (assignment_expression "local_90 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (labeled_statement "LAB_0009cd80:\n          local_bc = &local_6c;" statement_identifier : (expression_statement "local_bc = &local_6c;" (assignment_expression "local_bc = &local_6c" identifier = (pointer_expression "&local_6c" & identifier)) ;)) (expression_statement "local_5c = (byte *)0x0;" (assignment_expression "local_5c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_58 = 0xffffffff;" (assignment_expression "local_58 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_54 = 0x80000000;" (assignment_expression "local_54 = 0x80000000" identifier = number_literal) ;) (expression_statement "local_50 = (byte *)0x0;" (assignment_expression "local_50 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }" else (compound_statement "{\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }" { (if_statement "if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;" if (parenthesized_expression "((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))" ( (binary_expression "(param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0)" (parenthesized_expression "(param_11 != (int *)0x0)" ( (binary_expression "param_11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0)" ( (comma_expression "local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0" (assignment_expression "local_90 = *(undefined ***)(*param_11 + local_b4 * 4)" identifier = (pointer_expression "*(undefined ***)(*param_11 + local_b4 * 4)" * (cast_expression "(undefined ***)(*param_11 + local_b4 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*param_11 + local_b4 * 4)" ( (binary_expression "*param_11 + local_b4 * 4" (pointer_expression "*param_11" * identifier) + (binary_expression "local_b4 * 4" identifier * number_literal)) ))))) , (binary_expression "local_90 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ))) )) (goto_statement "goto LAB_0009ccec;" goto statement_identifier ;)) (if_statement "if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }" if (parenthesized_expression "(local_a0 < (uint)local_cc[0x2c])" ( (binary_expression "local_a0 < (uint)local_cc[0x2c]" identifier < (cast_expression "(uint)local_cc[0x2c]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_cc[0x2c]" identifier [ number_literal ]))) )) (compound_statement "{\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }" { (labeled_statement "LAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;" statement_identifier : (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650d7" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x650d7" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x17f;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x17f" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cb27" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f261;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f261" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar9 = local_a0 - local_cc[0x2c];" (assignment_expression "uVar9 = local_a0 - local_cc[0x2c]" identifier = (binary_expression "local_a0 - local_cc[0x2c]" identifier - (subscript_expression "local_cc[0x2c]" identifier [ number_literal ]))) ;) (expression_statement "local_90 = (undefined **)local_cc[0x30];" (assignment_expression "local_90 = (undefined **)local_cc[0x30]" identifier = (cast_expression "(undefined **)local_cc[0x30]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_cc[0x30]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }" if (parenthesized_expression "((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9)" ( (binary_expression "(uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9" (call_expression "(uint)((int)local_90 - local_cc[0x2f] >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_90 - local_cc[0x2f] >> 2)" ( (binary_expression "(int)local_90 - local_cc[0x2f] >> 2" (binary_expression "(int)local_90 - local_cc[0x2f]" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "local_cc[0x2f]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x65096;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x65096" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x65096" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x8ad;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x8ad" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f2a3" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);" (assignment_expression "local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4)" identifier = (pointer_expression "*(undefined ***)(local_cc[0x2f] + uVar9 * 4)" * (cast_expression "(undefined ***)(local_cc[0x2f] + uVar9 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(local_cc[0x2f] + uVar9 * 4)" ( (binary_expression "local_cc[0x2f] + uVar9 * 4" (subscript_expression "local_cc[0x2f]" identifier [ number_literal ]) + (binary_expression "uVar9 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (local_90 == (undefined **)0x0) goto LAB_0009f240;" if (parenthesized_expression "(local_90 == (undefined **)0x0)" ( (binary_expression "local_90 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0009f240;" goto statement_identifier ;)) (if_statement "if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;" if (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2a) & 0x10)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2a) & 0x10" (binary_expression "(byte)*(code *)((int)local_90 + 0x2a)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009ccec;" goto statement_identifier ;)) (expression_statement "*(undefined ***)(puVar22 + -0xc) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0xc) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0xc)" * (cast_expression "(undefined ***)(puVar22 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = *param_2;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = *param_2" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (pointer_expression "*param_2" * identifier)) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9e0cb" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_90 = (undefined **)FUN_0034cd90();" (assignment_expression "local_90 = (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 "pbVar13 = local_90[4];" (assignment_expression "pbVar13 = local_90[4]" identifier = (subscript_expression "local_90[4]" identifier [ number_literal ])) ;) (expression_statement "pbVar21 = pbVar13 + -1;" (assignment_expression "pbVar21 = pbVar13 + -1" identifier = (binary_expression "pbVar13 + -1" identifier + number_literal)) ;) (if_statement "if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }" if (parenthesized_expression "(pbVar21 < (byte *)0xfffffffe)" ( (binary_expression "pbVar21 < (byte *)0xfffffffe" identifier < (cast_expression "(byte *)0xfffffffe" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }" { (if_statement "if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }" if (parenthesized_expression "((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe))" ( (binary_expression "(local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)" (parenthesized_expression "(local_6c != (byte *)0x0)" ( (binary_expression "local_6c != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_6c != (byte *)0xfffffffe)" ( (binary_expression "local_6c != (byte *)0xfffffffe" identifier != (cast_expression "(byte *)0xfffffffe" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650dd" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x650dd" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x70c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x70c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f155;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f155" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_0009e020;" goto statement_identifier ;) })) (if_statement "if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }" if (parenthesized_expression "(local_6c != (byte *)0x0)" ( (binary_expression "local_6c != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e4" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x650e4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x716;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x716" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9e10f;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9e10f" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_0009cd01:\n          local_6c = (byte *)0xffffffff;" statement_identifier : (expression_statement "local_6c = (byte *)0xffffffff;" (assignment_expression "local_6c = (byte *)0xffffffff" identifier = (cast_expression "(byte *)0xffffffff" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pbVar13 = local_6c;" (assignment_expression "pbVar13 = local_6c" identifier = identifier) ;) (labeled_statement "LAB_0009cd08:\n          local_6c = pbVar13;" statement_identifier : (expression_statement "local_6c = pbVar13;" (assignment_expression "local_6c = pbVar13" identifier = identifier) ;)) (expression_statement "local_60 = local_90[0xc];" (assignment_expression "local_60 = local_90[0xc]" identifier = (subscript_expression "local_90[0xc]" identifier [ number_literal ])) ;) (if_statement "if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }" if (parenthesized_expression "(((byte)*(code *)(local_90 + 10) & 0xf) == 6)" ( (binary_expression "((byte)*(code *)(local_90 + 10) & 0xf) == 6" (parenthesized_expression "((byte)*(code *)(local_90 + 10) & 0xf)" ( (binary_expression "(byte)*(code *)(local_90 + 10) & 0xf" (binary_expression "(byte)*(code *)(local_90 + 10)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)(local_90 + 10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 10)" ( (binary_expression "local_90 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_64 = local_64 | 0x20000000;\n          }" { (expression_statement "local_64 = local_64 | 0x20000000;" (assignment_expression "local_64 = local_64 | 0x20000000" identifier = (binary_expression "local_64 | 0x20000000" identifier | number_literal)) ;) }) (else_clause "else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }" else (if_statement "if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }" if (parenthesized_expression "(((byte)*(code *)(local_90 + 10) & 0xf) == 10)" ( (binary_expression "((byte)*(code *)(local_90 + 10) & 0xf) == 10" (parenthesized_expression "((byte)*(code *)(local_90 + 10) & 0xf)" ( (binary_expression "(byte)*(code *)(local_90 + 10) & 0xf" (binary_expression "(byte)*(code *)(local_90 + 10)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)(local_90 + 10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 10)" ( (binary_expression "local_90 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_64 = local_64 | 0x40000000;\n          }" { (expression_statement "local_64 = local_64 | 0x40000000;" (assignment_expression "local_64 = local_64 | 0x40000000" identifier = (binary_expression "local_64 | 0x40000000" identifier | number_literal)) ;) })))) (if_statement "if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }" if (parenthesized_expression "(-1 < (char)*(code *)((int)local_90 + 0x2b))" ( (binary_expression "-1 < (char)*(code *)((int)local_90 + 0x2b)" number_literal < (cast_expression "(char)*(code *)((int)local_90 + 0x2b)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(code *)((int)local_90 + 0x2b)" * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) )) (compound_statement "{\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }" { (labeled_statement "LAB_0009d9b8:\n            local_9c = &local_6c;" statement_identifier : (expression_statement "local_9c = &local_6c;" (assignment_expression "local_9c = &local_6c" identifier = (pointer_expression "&local_6c" & identifier)) ;)) (expression_statement "uVar9 = param_4[1] >> 0x18;" (assignment_expression "uVar9 = param_4[1] >> 0x18" identifier = (binary_expression "param_4[1] >> 0x18" (subscript_expression "param_4[1]" identifier [ number_literal ]) >> number_literal)) ;) (goto_statement "goto LAB_0009cd80;" goto statement_identifier ;) })) (if_statement "if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;" if (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2a) & 7" (binary_expression "(byte)*(code *)((int)local_90 + 0x2a)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }" { (if_statement "if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }" if (parenthesized_expression "((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0))" ( (binary_expression "(local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" (parenthesized_expression "(local_90[3] != (undefined *)0x0)" ( (binary_expression "local_90[3] != (undefined *)0x0" (subscript_expression "local_90[3]" identifier [ number_literal ]) != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 0x20" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }" { (expression_statement "local_9c = &local_6c;" (assignment_expression "local_9c = &local_6c" identifier = (pointer_expression "&local_6c" & identifier)) ;) (expression_statement "uVar9 = param_4[1] >> 0x18;" (assignment_expression "uVar9 = param_4[1] >> 0x18" identifier = (binary_expression "param_4[1] >> 0x18" (subscript_expression "param_4[1]" identifier [ number_literal ]) >> number_literal)) ;) (goto_statement "goto LAB_0009cd80;" goto statement_identifier ;) })) }) (else_clause "else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;" else (if_statement "if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;" if (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2a) & 7" (binary_expression "(byte)*(code *)((int)local_90 + 0x2a)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009d9b8;" goto statement_identifier ;)))) (expression_statement "local_a4 = (int *)0x0;" (assignment_expression "local_a4 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_9c = &local_6c;" (assignment_expression "local_9c = &local_6c" identifier = (pointer_expression "&local_6c" & identifier)) ;) (labeled_statement "LAB_0009d9f1:\n          local_bc = &local_6c;" statement_identifier : (expression_statement "local_bc = &local_6c;" (assignment_expression "local_bc = &local_6c" identifier = (pointer_expression "&local_6c" & identifier)) ;)) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "local_5c = (byte *)0x0;" (assignment_expression "local_5c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = *local_cc;" (assignment_expression "iVar11 = *local_cc" identifier = (pointer_expression "*local_cc" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar22 + -8) = param_2[6];" (assignment_expression "*(undefined4 *)(puVar22 + -8) = param_2[6]" (pointer_expression "*(undefined4 *)(puVar22 + -8)" * (cast_expression "(undefined4 *)(puVar22 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (subscript_expression "param_2[6]" identifier [ number_literal ])) ;) (expression_statement "*(int **)(puVar22 + -0xc) = local_cc;" (assignment_expression "*(int **)(puVar22 + -0xc) = local_cc" (pointer_expression "*(int **)(puVar22 + -0xc)" * (cast_expression "(int **)(puVar22 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_d0 = &local_5c;" (assignment_expression "local_d0 = &local_5c" identifier = (pointer_expression "&local_5c" & identifier)) ;) (expression_statement "local_58 = 0xffffffff;" (assignment_expression "local_58 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_54 = 0x80000000;" (assignment_expression "local_54 = 0x80000000" identifier = number_literal) ;) (expression_statement "local_50 = (byte *)0x0;" (assignment_expression "local_50 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(byte ***)(puVar22 + -0x10) = local_b0;" (assignment_expression "*(byte ***)(puVar22 + -0x10) = local_b0" (pointer_expression "*(byte ***)(puVar22 + -0x10)" * (cast_expression "(byte ***)(puVar22 + -0x10)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar1 = *(code **)(iVar11 + 0x40);" (assignment_expression "pcVar1 = *(code **)(iVar11 + 0x40)" identifier = (pointer_expression "*(code **)(iVar11 + 0x40)" * (cast_expression "(code **)(iVar11 + 0x40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x40)" ( (binary_expression "iVar11 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9da35;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9da35" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar1)();" (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar23 = puVar22 + -4;" (assignment_expression "puVar23 = puVar22 + -4" identifier = (binary_expression "puVar22 + -4" identifier + number_literal)) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar28 = local_c0 == 0;" (assignment_expression "bVar28 = local_c0 == 0" identifier = (binary_expression "local_c0 == 0" identifier == number_literal)) ;) (if_statement "if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }" if (parenthesized_expression "(bVar28)" ( identifier )) (compound_statement "{\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }" { (expression_statement "iVar11 = 6;" (assignment_expression "iVar11 = 6" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" identifier = identifier) ;) (expression_statement "pbVar13 = (byte *)((int)local_94 + -0x19cac3);" (assignment_expression "pbVar13 = (byte *)((int)local_94 + -0x19cac3)" identifier = (cast_expression "(byte *)((int)local_94 + -0x19cac3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x19cac3)" ( (binary_expression "(int)local_94 + -0x19cac3" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);" do (compound_statement "{\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar21 < *pbVar13;" (assignment_expression "bVar26 = *pbVar21 < *pbVar13" identifier = (binary_expression "*pbVar21 < *pbVar13" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "bVar28 = *pbVar21 == *pbVar13;" (assignment_expression "bVar28 = *pbVar21 == *pbVar13" identifier = (binary_expression "*pbVar21 == *pbVar13" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar28)" ( identifier )) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar26 && !bVar28) == bVar26;" (assignment_expression "bVar26 = (!bVar26 && !bVar28) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar28) == bVar26" (parenthesized_expression "(!bVar26 && !bVar28)" ( (binary_expression "!bVar26 && !bVar28" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar28" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }" { (expression_statement "iVar11 = 7;" (assignment_expression "iVar11 = 7" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" identifier = identifier) ;) (expression_statement "ppuVar17 = local_94 + -0x672af;" (assignment_expression "ppuVar17 = local_94 + -0x672af" identifier = (binary_expression "local_94 + -0x672af" identifier + number_literal)) ;) (do_statement "do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);" do (compound_statement "{\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar21 < *(byte *)ppuVar17;" (assignment_expression "bVar27 = *pbVar21 < *(byte *)ppuVar17" identifier = (binary_expression "*pbVar21 < *(byte *)ppuVar17" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*(byte *)ppuVar17" * (cast_expression "(byte *)ppuVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar26 = *pbVar21 == *(byte *)ppuVar17;" (assignment_expression "bVar26 = *pbVar21 == *(byte *)ppuVar17" identifier = (binary_expression "*pbVar21 == *(byte *)ppuVar17" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*(byte *)ppuVar17" * (cast_expression "(byte *)ppuVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);" (assignment_expression "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar17 + (uint)bVar29 * -2 + 1)" ( (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2 + 1" (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2" (cast_expression "(int)ppuVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar27 && !bVar26) == bVar27;" (assignment_expression "bVar26 = (!bVar27 && !bVar26) == bVar27" identifier = (binary_expression "(!bVar27 && !bVar26) == bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" ( (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "iVar11 = 0x11;" (assignment_expression "iVar11 = 0x11" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" identifier = identifier) ;) (expression_statement "ppuVar17 = local_94 + -0x672ad;" (assignment_expression "ppuVar17 = local_94 + -0x672ad" identifier = (binary_expression "local_94 + -0x672ad" identifier + number_literal)) ;) (do_statement "do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);" do (compound_statement "{\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar21 < *(byte *)ppuVar17;" (assignment_expression "bVar28 = *pbVar21 < *(byte *)ppuVar17" identifier = (binary_expression "*pbVar21 < *(byte *)ppuVar17" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*(byte *)ppuVar17" * (cast_expression "(byte *)ppuVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar26 = *pbVar21 == *(byte *)ppuVar17;" (assignment_expression "bVar26 = *pbVar21 == *(byte *)ppuVar17" identifier = (binary_expression "*pbVar21 == *(byte *)ppuVar17" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*(byte *)ppuVar17" * (cast_expression "(byte *)ppuVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);" (assignment_expression "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar17 + (uint)bVar29 * -2 + 1)" ( (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2 + 1" (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2" (cast_expression "(int)ppuVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar28 && !bVar26) == bVar28;" (assignment_expression "bVar26 = (!bVar28 && !bVar26) == bVar28" identifier = (binary_expression "(!bVar28 && !bVar26) == bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" ( (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }" { (expression_statement "iVar11 = 5;" (assignment_expression "iVar11 = 5" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" identifier = identifier) ;) (expression_statement "pbVar13 = (byte *)((int)local_94 + -0x19caa2);" (assignment_expression "pbVar13 = (byte *)((int)local_94 + -0x19caa2)" identifier = (cast_expression "(byte *)((int)local_94 + -0x19caa2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x19caa2)" ( (binary_expression "(int)local_94 + -0x19caa2" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);" do (compound_statement "{\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar21 < *pbVar13;" (assignment_expression "bVar27 = *pbVar21 < *pbVar13" identifier = (binary_expression "*pbVar21 < *pbVar13" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "bVar26 = *pbVar21 == *pbVar13;" (assignment_expression "bVar26 = *pbVar21 == *pbVar13" identifier = (binary_expression "*pbVar21 == *pbVar13" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar27 && !bVar26) == bVar27;" (assignment_expression "bVar26 = (!bVar27 && !bVar26) == bVar27" identifier = (binary_expression "(!bVar27 && !bVar26) == bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" ( (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }" { (expression_statement "iVar11 = 5;" (assignment_expression "iVar11 = 5" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" identifier = identifier) ;) (expression_statement "ppuVar17 = local_94 + -0x672a7;" (assignment_expression "ppuVar17 = local_94 + -0x672a7" identifier = (binary_expression "local_94 + -0x672a7" identifier + number_literal)) ;) (do_statement "do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);" do (compound_statement "{\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar21 < *(byte *)ppuVar17;" (assignment_expression "bVar28 = *pbVar21 < *(byte *)ppuVar17" identifier = (binary_expression "*pbVar21 < *(byte *)ppuVar17" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*(byte *)ppuVar17" * (cast_expression "(byte *)ppuVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar26 = *pbVar21 == *(byte *)ppuVar17;" (assignment_expression "bVar26 = *pbVar21 == *(byte *)ppuVar17" identifier = (binary_expression "*pbVar21 == *(byte *)ppuVar17" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*(byte *)ppuVar17" * (cast_expression "(byte *)ppuVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);" (assignment_expression "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar17 + (uint)bVar29 * -2 + 1)" ( (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2 + 1" (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2" (cast_expression "(int)ppuVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar28 && !bVar26) == bVar28;" (assignment_expression "bVar26 = (!bVar28 && !bVar26) == bVar28" identifier = (binary_expression "(!bVar28 && !bVar26) == bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" ( (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }" { (expression_statement "iVar11 = 4;" (assignment_expression "iVar11 = 4" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" identifier = identifier) ;) (expression_statement "pbVar13 = (byte *)((int)local_94 + -0x19ca96);" (assignment_expression "pbVar13 = (byte *)((int)local_94 + -0x19ca96)" identifier = (cast_expression "(byte *)((int)local_94 + -0x19ca96)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x19ca96)" ( (binary_expression "(int)local_94 + -0x19ca96" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);" do (compound_statement "{\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar21 < *pbVar13;" (assignment_expression "bVar27 = *pbVar21 < *pbVar13" identifier = (binary_expression "*pbVar21 < *pbVar13" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "bVar26 = *pbVar21 == *pbVar13;" (assignment_expression "bVar26 = *pbVar21 == *pbVar13" identifier = (binary_expression "*pbVar21 == *pbVar13" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar27 && !bVar26) == bVar27;" (assignment_expression "bVar26 = (!bVar27 && !bVar26) == bVar27" identifier = (binary_expression "(!bVar27 && !bVar26) == bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" ( (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }" { (expression_statement "iVar11 = 10;" (assignment_expression "iVar11 = 10" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" identifier = identifier) ;) (expression_statement "pbVar13 = (byte *)((int)local_94 + -0x19a212);" (assignment_expression "pbVar13 = (byte *)((int)local_94 + -0x19a212)" identifier = (cast_expression "(byte *)((int)local_94 + -0x19a212)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x19a212)" ( (binary_expression "(int)local_94 + -0x19a212" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);" do (compound_statement "{\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar21 < *pbVar13;" (assignment_expression "bVar28 = *pbVar21 < *pbVar13" identifier = (binary_expression "*pbVar21 < *pbVar13" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "bVar26 = *pbVar21 == *pbVar13;" (assignment_expression "bVar26 = *pbVar21 == *pbVar13" identifier = (binary_expression "*pbVar21 == *pbVar13" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar28 && !bVar26) == bVar28;" (assignment_expression "bVar26 = (!bVar28 && !bVar26) == bVar28" identifier = (binary_expression "(!bVar28 && !bVar26) == bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" ( (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }" { (expression_statement "iVar11 = 0x12;" (assignment_expression "iVar11 = 0x12" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" identifier = identifier) ;) (expression_statement "pbVar13 = (byte *)((int)local_94 + -0x19ca91);" (assignment_expression "pbVar13 = (byte *)((int)local_94 + -0x19ca91)" identifier = (cast_expression "(byte *)((int)local_94 + -0x19ca91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x19ca91)" ( (binary_expression "(int)local_94 + -0x19ca91" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);" do (compound_statement "{\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar21 < *pbVar13;" (assignment_expression "bVar27 = *pbVar21 < *pbVar13" identifier = (binary_expression "*pbVar21 < *pbVar13" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "bVar26 = *pbVar21 == *pbVar13;" (assignment_expression "bVar26 = *pbVar21 == *pbVar13" identifier = (binary_expression "*pbVar21 == *pbVar13" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (if_statement "if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;" if (parenthesized_expression "((!bVar27 && !bVar26) != bVar27)" ( (binary_expression "(!bVar27 && !bVar26) != bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" ( (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_0009dbca;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0009dc9a;" goto statement_identifier ;) })) })) })) })) })) })) (labeled_statement "LAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;" statement_identifier : (expression_statement "*(undefined1 ***)(puVar22 + -8) = local_34;" (assignment_expression "*(undefined1 ***)(puVar22 + -8) = local_34" (pointer_expression "*(undefined1 ***)(puVar22 + -8)" * (cast_expression "(undefined1 ***)(puVar22 + -8)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(byte ***)(puVar22 + -0xc) = local_b0;" (assignment_expression "*(byte ***)(puVar22 + -0xc) = local_b0" (pointer_expression "*(byte ***)(puVar22 + -0xc)" * (cast_expression "(byte ***)(puVar22 + -0xc)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar22 + -0x10) = local_a4;" (assignment_expression "*(int **)(puVar22 + -0x10) = local_a4" (pointer_expression "*(int **)(puVar22 + -0x10)" * (cast_expression "(int **)(puVar22 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar22 + -0x14) = local_cc;" (assignment_expression "*(int **)(puVar22 + -0x14) = local_cc" (pointer_expression "*(int **)(puVar22 + -0x14)" * (cast_expression "(int **)(puVar22 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x18) = 0x9da8d;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = 0x9da8d" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" * (cast_expression "(undefined4 *)(puVar22 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar11 = FUN_00290ed0();" (assignment_expression "iVar11 = FUN_00290ed0()" identifier = (call_expression "FUN_00290ed0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_50 = (byte *)0x0;" (assignment_expression "local_50 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\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_50 = local_9c[3] + iVar11;\n            }" { (expression_statement "local_50 = local_9c[3] + iVar11;" (assignment_expression "local_50 = local_9c[3] + iVar11" identifier = (binary_expression "local_9c[3] + iVar11" (subscript_expression "local_9c[3]" identifier [ number_literal ]) + identifier)) ;) })) (expression_statement "local_c0 = 1;" (assignment_expression "local_c0 = 1" identifier = number_literal) ;) (expression_statement "puVar22 = puVar22 + -4;" (assignment_expression "puVar22 = puVar22 + -4" identifier = (binary_expression "puVar22 + -4" identifier + number_literal)) ;) }) (else_clause "else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }" else (compound_statement "{\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }" { (if_statement "if (local_c0 == 1) goto LAB_0009da6c;" if (parenthesized_expression "(local_c0 == 1)" ( (binary_expression "local_c0 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0009da6c;" goto statement_identifier ;)) (if_statement "if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }" if (parenthesized_expression "(local_c0 == 3)" ( (binary_expression "local_c0 == 3" identifier == number_literal) )) (compound_statement "{\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }" { (labeled_statement "LAB_0009dbca:\n              uVar15 = param_2[2];" statement_identifier : (expression_statement "uVar15 = param_2[2];" (assignment_expression "uVar15 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;)) (if_statement "if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }" if (parenthesized_expression "(local_90 == (undefined **)0x0)" ( (binary_expression "local_90 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }" { (expression_statement "*(uint *)(puVar22 + -0x10) = local_a0;" (assignment_expression "*(uint *)(puVar22 + -0x10) = local_a0" (pointer_expression "*(uint *)(puVar22 + -0x10)" * (cast_expression "(uint *)(puVar22 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x18) = 0x9e225;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = 0x9e225" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" * (cast_expression "(undefined4 *)(puVar22 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar10 = FUN_00297920();" (assignment_expression "uVar10 = FUN_00297920()" identifier = (call_expression "FUN_00297920()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;" (assignment_expression "*(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa" (pointer_expression "*(undefined ***)(puVar22 + -0x14)" * (cast_expression "(undefined ***)(puVar22 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = (binary_expression "local_94 + -0x671fa" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x18) = 0x9e23d;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = 0x9e23d" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" * (cast_expression "(undefined4 *)(puVar22 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar14 = gettext();" (assignment_expression "uVar14 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)(puVar22 + -0xc) = local_a0;" (assignment_expression "*(uint *)(puVar22 + -0xc) = local_a0" (pointer_expression "*(uint *)(puVar22 + -0xc)" * (cast_expression "(uint *)(puVar22 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar10;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar10" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = uVar14;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = uVar14" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;" (assignment_expression "*(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f" (pointer_expression "*(int *)(puVar22 + -0x18)" * (cast_expression "(int *)(puVar22 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = (binary_expression "(int)local_c4 >> 0x1f" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)(puVar22 + -0x1c) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -0x1c) = local_c4" (pointer_expression "*(uint *)(puVar22 + -0x1c)" * (cast_expression "(uint *)(puVar22 + -0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -0x20) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x20) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x20)" * (cast_expression "(int *)(puVar22 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x20)" ( (binary_expression "puVar22 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar22 + -0x24) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x24) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x24)" * (cast_expression "(undefined4 **)(puVar22 + -0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x24)" ( (binary_expression "puVar22 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x28) = 0x9e265;" (assignment_expression "*(undefined4 *)(puVar22 + -0x28) = 0x9e265" (pointer_expression "*(undefined4 *)(puVar22 + -0x28)" * (cast_expression "(undefined4 *)(puVar22 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x28)" ( (binary_expression "puVar22 + -0x28" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023be30();" (call_expression "FUN_0023be30()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar23 = puVar22 + -4;" (assignment_expression "puVar23 = puVar22 + -4" identifier = (binary_expression "puVar22 + -4" identifier + number_literal)) ;) }) (else_clause "else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }" else (compound_statement "{\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 ***)(puVar22 + -0x14) = local_34;" (assignment_expression "*(undefined1 ***)(puVar22 + -0x14) = local_34" (pointer_expression "*(undefined1 ***)(puVar22 + -0x14)" * (cast_expression "(undefined1 ***)(puVar22 + -0x14)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = 0x9dbf6" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" * (cast_expression "(undefined4 *)(puVar22 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0034dd40();" (call_expression "FUN_0034dd40()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar6 = local_34[0];" (assignment_expression "puVar6 = local_34[0]" identifier = (subscript_expression "local_34[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;" (assignment_expression "*(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4" (pointer_expression "*(undefined ***)(puVar22 + -0x18)" * (cast_expression "(undefined ***)(puVar22 + -0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = (binary_expression "local_94 + -0x671e4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;" (assignment_expression "*(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d" (pointer_expression "*(undefined4 *)(puVar22 + -0x1c)" * (cast_expression "(undefined4 *)(puVar22 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar10 = gettext();" (assignment_expression "uVar10 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined1 **)(puVar22 + -0x14) = puVar6;" (assignment_expression "*(undefined1 **)(puVar22 + -0x14) = puVar6" (pointer_expression "*(undefined1 **)(puVar22 + -0x14)" * (cast_expression "(undefined1 **)(puVar22 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x18) = uVar10;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = uVar10" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" * (cast_expression "(undefined4 *)(puVar22 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;" (assignment_expression "*(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f" (pointer_expression "*(int *)(puVar22 + -0x1c)" * (cast_expression "(int *)(puVar22 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = (binary_expression "(int)local_c4 >> 0x1f" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)(puVar22 + -0x20) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -0x20) = local_c4" (pointer_expression "*(uint *)(puVar22 + -0x20)" * (cast_expression "(uint *)(puVar22 + -0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x20)" ( (binary_expression "puVar22 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -0x24) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x24) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x24)" * (cast_expression "(int *)(puVar22 + -0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x24)" ( (binary_expression "puVar22 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar22 + -0x28) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x28) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x28)" * (cast_expression "(undefined4 **)(puVar22 + -0x28)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x28)" ( (binary_expression "puVar22 + -0x28" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;" (assignment_expression "*(undefined4 *)(puVar22 + -0x2c) = 0x9dc30" (pointer_expression "*(undefined4 *)(puVar22 + -0x2c)" * (cast_expression "(undefined4 *)(puVar22 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x2c)" ( (binary_expression "puVar22 + -0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023be30();" (call_expression "FUN_0023be30()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar23 = puVar22 + -8;" (assignment_expression "puVar23 = puVar22 + -8" identifier = (binary_expression "puVar22 + -8" identifier + number_literal)) ;) (if_statement "if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -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 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }" { (expression_statement "*(undefined1 **)(puVar22 + -0x18) = local_34[0];" (assignment_expression "*(undefined1 **)(puVar22 + -0x18) = local_34[0]" (pointer_expression "*(undefined1 **)(puVar22 + -0x18)" * (cast_expression "(undefined1 **)(puVar22 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = (subscript_expression "local_34[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;" (assignment_expression "*(undefined4 *)(puVar22 + -0x1c) = 0x9dc46" (pointer_expression "*(undefined4 *)(puVar22 + -0x1c)" * (cast_expression "(undefined4 *)(puVar22 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar23 = puVar22 + -8;" (assignment_expression "puVar23 = puVar22 + -8" identifier = (binary_expression "puVar22 + -8" identifier + number_literal)) ;) })) }))) (expression_statement "*(undefined1 **)(puVar23 + -4) = &local_81;" (assignment_expression "*(undefined1 **)(puVar23 + -4) = &local_81" (pointer_expression "*(undefined1 **)(puVar23 + -4)" * (cast_expression "(undefined1 **)(puVar23 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -4)" ( (binary_expression "puVar23 + -4" identifier + number_literal) )))) = (pointer_expression "&local_81" & identifier)) ;) (expression_statement "*(undefined1 **)(puVar23 + -8) = local_80;" (assignment_expression "*(undefined1 **)(puVar23 + -8) = local_80" (pointer_expression "*(undefined1 **)(puVar23 + -8)" * (cast_expression "(undefined1 **)(puVar23 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar23 + -0xc) = local_a0;" (assignment_expression "*(uint *)(puVar23 + -0xc) = local_a0" (pointer_expression "*(uint *)(puVar23 + -0xc)" * (cast_expression "(uint *)(puVar23 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9dc63;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9dc63" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar11 = FUN_00296fa0();" (assignment_expression "iVar11 = FUN_00296fa0()" identifier = (call_expression "FUN_00296fa0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }" { (expression_statement "*(int **)(puVar23 + -8) = &local_7c;" (assignment_expression "*(int **)(puVar23 + -8) = &local_7c" (pointer_expression "*(int **)(puVar23 + -8)" * (cast_expression "(int **)(puVar23 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = (pointer_expression "&local_7c" & identifier)) ;) (expression_statement "*(int *)(puVar23 + -0xc) = iVar11;" (assignment_expression "*(int *)(puVar23 + -0xc) = iVar11" (pointer_expression "*(int *)(puVar23 + -0xc)" * (cast_expression "(int *)(puVar23 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9e18c;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9e18c" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar11 = FUN_00291140();" (assignment_expression "iVar11 = FUN_00291140()" identifier = (call_expression "FUN_00291140()" identifier (argument_list "()" ( )))) ;) (if_statement "if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }" if (parenthesized_expression "(local_7c != 0)" ( (binary_expression "local_7c != 0" identifier != number_literal) )) (compound_statement "{\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }" { (expression_statement "*(int *)(puVar23 + -0xc) = local_7c;" (assignment_expression "*(int *)(puVar23 + -0xc) = local_7c" (pointer_expression "*(int *)(puVar23 + -0xc)" * (cast_expression "(int *)(puVar23 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9f038;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9f038" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = FUN_00297920();" (assignment_expression "uVar15 = FUN_00297920()" identifier = (call_expression "FUN_00297920()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;" (assignment_expression "*(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf" (pointer_expression "*(undefined ***)(puVar23 + -0x10)" * (cast_expression "(undefined ***)(puVar23 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = (binary_expression "local_94 + -0x671cf" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9f050;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9f050" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar10 = gettext();" (assignment_expression "uVar10 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar23 + -0xc) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0xc) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0xc)" * (cast_expression "(undefined4 *)(puVar23 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = uVar10;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = uVar10" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9f05f;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9f05f" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b870();" (call_expression "FUN_0023b870()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }" { (expression_statement "uVar15 = *(undefined4 *)(iVar11 + 4);" (assignment_expression "uVar15 = *(undefined4 *)(iVar11 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 4)" * (cast_expression "(undefined4 *)(iVar11 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 4)" ( (binary_expression "iVar11 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;" (assignment_expression "*(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7" (pointer_expression "*(undefined ***)(puVar23 + -0x10)" * (cast_expression "(undefined ***)(puVar23 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = (binary_expression "local_94 + -0x671c7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9e1be;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9e1be" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar10 = gettext();" (assignment_expression "uVar10 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar23 + -0xc) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0xc) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0xc)" * (cast_expression "(undefined4 *)(puVar23 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = uVar10;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = uVar10" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9e1c7" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b870();" (call_expression "FUN_0023b870()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "local_c0 = 3;" (assignment_expression "local_c0 = 3" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }" else (compound_statement "{\nLAB_0009dc9a:\n              local_c0 = 2;\n            }" { (labeled_statement "LAB_0009dc9a:\n              local_c0 = 2;" statement_identifier : (expression_statement "local_c0 = 2;" (assignment_expression "local_c0 = 2" identifier = number_literal) ;)) }))) (expression_statement "local_50 = (byte *)0x0;" (assignment_expression "local_50 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar22 = puVar23;" (assignment_expression "puVar22 = puVar23" identifier = identifier) ;) }))) (if_statement "if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }" if (parenthesized_expression "(local_5c != (byte *)0x0)" ( (binary_expression "local_5c != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e4" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x650e4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x716;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x716" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined **)(puVar22 + -0x14) = &UNK_0009f212;" (assignment_expression "*(undefined **)(puVar22 + -0x14) = &UNK_0009f212" (pointer_expression "*(undefined **)(puVar22 + -0x14)" * (cast_expression "(undefined **)(puVar22 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0009f212" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_5c = (byte *)0xffffffff;" (assignment_expression "local_5c = (byte *)0xffffffff" identifier = (cast_expression "(byte *)0xffffffff" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }" if (parenthesized_expression "(local_4c != (byte *)&local_44)" ( (binary_expression "local_4c != (byte *)&local_44" identifier != (cast_expression "(byte *)&local_44" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_44" & identifier))) )) (compound_statement "{\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }" { (expression_statement "*(byte **)(puVar22 + -0x10) = local_4c;" (assignment_expression "*(byte **)(puVar22 + -0x10) = local_4c" (pointer_expression "*(byte **)(puVar22 + -0x10)" * (cast_expression "(byte **)(puVar22 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9dadb;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9dadb" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_9c = &local_5c;" (assignment_expression "local_9c = &local_5c" identifier = (pointer_expression "&local_5c" & identifier)) ;) (expression_statement "uVar9 = param_4[1] >> 0x18;" (assignment_expression "uVar9 = param_4[1] >> 0x18" identifier = (binary_expression "param_4[1] >> 0x18" (subscript_expression "param_4[1]" identifier [ number_literal ]) >> number_literal)) ;) }))) (expression_statement "local_d0 = &local_5c;" (assignment_expression "local_d0 = &local_5c" identifier = (pointer_expression "&local_5c" & identifier)) ;) (expression_statement "local_b8 = uVar9 & 0xff;" (assignment_expression "local_b8 = uVar9 & 0xff" identifier = (binary_expression "uVar9 & 0xff" identifier & number_literal)) ;) (expression_statement "bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;" (assignment_expression "bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1" identifier = (binary_expression "*(byte *)((int)local_9c + 0xb) >> 6 & 1" (binary_expression "*(byte *)((int)local_9c + 0xb) >> 6" (pointer_expression "*(byte *)((int)local_9c + 0xb)" * (cast_expression "(byte *)((int)local_9c + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 0xb)" ( (binary_expression "(int)local_9c + 0xb" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal)) ;) (if_statement "if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */\n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }" if (parenthesized_expression "(((int)local_c4 < 0) || (param_10 <= local_c4))" ( (binary_expression "((int)local_c4 < 0) || (param_10 <= local_c4)" (parenthesized_expression "((int)local_c4 < 0)" ( (binary_expression "(int)local_c4 < 0" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(param_10 <= local_c4)" ( (binary_expression "param_10 <= local_c4" identifier <= identifier) ))) )) (compound_statement "{\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */\n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }" { (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "local_78 = param_4;" (assignment_expression "local_78 = param_4" identifier = identifier) ;) (if_statement "if (local_74 != '\0') goto LAB_0009dd10;" if (parenthesized_expression "(local_74 != '\0')" ( (binary_expression "local_74 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009dd10;" goto statement_identifier ;)) (labeled_statement "LAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;" statement_identifier : (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19ca7f" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9dceb;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9dceb" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)(puVar22 + -0xc) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -0xc) = local_c4" (pointer_expression "*(uint *)(puVar22 + -0xc)" * (cast_expression "(uint *)(puVar22 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;" (assignment_expression "*(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f" (pointer_expression "*(int *)(puVar22 + -0x14)" * (cast_expression "(int *)(puVar22 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = (binary_expression "(int)local_c4 >> 0x1f" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)(puVar22 + -0x18) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -0x18) = local_c4" (pointer_expression "*(uint *)(puVar22 + -0x18)" * (cast_expression "(uint *)(puVar22 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -0x1c) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x1c) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x1c)" * (cast_expression "(int *)(puVar22 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar22 + -0x20) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x20) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x20)" * (cast_expression "(undefined4 **)(puVar22 + -0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x20)" ( (binary_expression "puVar22 + -0x20" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9dd08;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9dd08" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" * (cast_expression "(undefined4 *)(puVar22 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x24)" ( (binary_expression "puVar22 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023be30();" (call_expression "FUN_0023be30()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }" else (compound_statement "{\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }" { (expression_statement "local_a0 = local_c4 + param_8;" (assignment_expression "local_a0 = local_c4 + param_8" identifier = (binary_expression "local_c4 + param_8" identifier + identifier)) ;) (expression_statement "local_78 = param_4;" (assignment_expression "local_78 = param_4" identifier = identifier) ;) (if_statement "if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }" if (parenthesized_expression "(local_74 == '\0')" ( (binary_expression "local_74 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }" { (labeled_statement "LAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;" statement_identifier : (if_statement "if (local_a0 == 0) goto LAB_0009dcd4;" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009dcd4;" goto statement_identifier ;))) (if_statement "if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }" if (parenthesized_expression "(local_70 == local_a0)" ( (binary_expression "local_70 == local_a0" identifier == identifier) )) (compound_statement "{\n              local_a0 = local_a0 + -4;\n            }" { (expression_statement "local_a0 = local_a0 + -4;" (assignment_expression "local_a0 = local_a0 + -4" identifier = (binary_expression "local_a0 + -4" identifier + number_literal)) ;) })) (expression_statement "local_4c = (byte *)0x0;" (assignment_expression "local_4c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_48 = 0xffffffff;" (assignment_expression "local_48 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_a4 = (int *)param_2[2];" (assignment_expression "local_a4 = (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 "local_44 = 0x80000000;" (assignment_expression "local_44 = 0x80000000" identifier = number_literal) ;) (expression_statement "local_40 = (undefined *)0x0;" (assignment_expression "local_40 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }" if (parenthesized_expression "(local_90 == (undefined **)0x0)" ( (binary_expression "local_90 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }" { (if_statement "if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }" if (parenthesized_expression "(bVar24 == 0)" ( (binary_expression "bVar24 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }" { (expression_statement "uVar9 = local_78[2];" (assignment_expression "uVar9 = local_78[2]" identifier = (subscript_expression "local_78[2]" identifier [ number_literal ])) ;) (expression_statement "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;" (assignment_expression "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "local_a8 = (int)local_ac >> 0x1f;" (assignment_expression "local_a8 = (int)local_ac >> 0x1f" identifier = (binary_expression "(int)local_ac >> 0x1f" (cast_expression "(int)local_ac" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }" if (parenthesized_expression "(local_b8 < 0xd)" ( (binary_expression "local_b8 < 0xd" identifier < number_literal) )) (compound_statement "{\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }" { (labeled_statement "LAB_0009d1f2:\n                  local_b0 = &local_4c;" statement_identifier : (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;)) }) (else_clause "else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }" else (compound_statement "{\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }" { (if_statement "if (local_b8 < 0x10) goto LAB_0009d56d;" if (parenthesized_expression "(local_b8 < 0x10)" ( (binary_expression "local_b8 < 0x10" identifier < number_literal) )) (goto_statement "goto LAB_0009d56d;" goto statement_identifier ;)) (if_statement "if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }" if (parenthesized_expression "(2 < local_b8 - 0x52)" ( (binary_expression "2 < local_b8 - 0x52" number_literal < (binary_expression "local_b8 - 0x52" identifier - number_literal)) )) (compound_statement "{\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }" { (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (goto_statement "goto LAB_0009d200;" goto statement_identifier ;) })) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (labeled_statement "LAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;" statement_identifier : (expression_statement "*(uint *)(puVar22 + -8) = local_ac;" (assignment_expression "*(uint *)(puVar22 + -8) = local_ac" (pointer_expression "*(uint *)(puVar22 + -8)" * (cast_expression "(uint *)(puVar22 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(int **)(puVar22 + -0xc) = local_a4;" (assignment_expression "*(int **)(puVar22 + -0xc) = local_a4" (pointer_expression "*(int **)(puVar22 + -0xc)" * (cast_expression "(int **)(puVar22 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte ***)(puVar22 + -0x10) = local_9c;" (assignment_expression "*(byte ***)(puVar22 + -0x10) = local_9c" (pointer_expression "*(byte ***)(puVar22 + -0x10)" * (cast_expression "(byte ***)(puVar22 + -0x10)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9de14;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9de14" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = FUN_000a90f0();" (assignment_expression "uVar15 = FUN_000a90f0()" identifier = (call_expression "FUN_000a90f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }" if (parenthesized_expression "((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0))" ( (binary_expression "(*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)" (parenthesized_expression "(*(int *)(param_1 + 0x14) != 0)" ( (binary_expression "*(int *)(param_1 + 0x14) != 0" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1)" ( (binary_expression "*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1" (pointer_expression "*(byte *)(*(int *)(param_1 + 0x14) + 0x1c)" * (cast_expression "(byte *)(*(int *)(param_1 + 0x14) + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x14) + 0x1c)" ( (binary_expression "*(int *)(param_1 + 0x14) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }" { (expression_statement "*(undefined4 *)(puVar22 + -4) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -4)" * (cast_expression "(undefined4 *)(puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eef" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64eef" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cca3" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f40c;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f40c" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) }))) }) (else_clause "else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }" else (compound_statement "{\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }" { (expression_statement "uVar9 = local_78[1];" (assignment_expression "uVar9 = local_78[1]" identifier = (subscript_expression "local_78[1]" identifier [ number_literal ])) ;) (expression_statement "local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;" (assignment_expression "local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8" identifier = (binary_expression "((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8" (parenthesized_expression "((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18)" ( (binary_expression "(uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "(uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal)) )) >> number_literal)) ;) (expression_statement "*(uint *)(puVar22 + -0xc) = local_ac;" (assignment_expression "*(uint *)(puVar22 + -0xc) = local_ac" (pointer_expression "*(uint *)(puVar22 + -0xc)" * (cast_expression "(uint *)(puVar22 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar22 + -0x10) = local_a4;" (assignment_expression "*(int **)(puVar22 + -0x10) = local_a4" (pointer_expression "*(int **)(puVar22 + -0x10)" * (cast_expression "(int **)(puVar22 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9dda9;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9dda9" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_00290e20();" (assignment_expression "cVar7 = FUN_00290e20()" identifier = (call_expression "FUN_00290e20()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }" if (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }" { (expression_statement "iVar11 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar11 = *(int *)(param_1 + 0x18)" identifier = (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n                    local_b0 = &local_4c;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }" { (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -4) = 0x9f3a6;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = 0x9f3a6" (pointer_expression "*(undefined4 *)(puVar22 + -4)" * (cast_expression "(undefined4 *)(puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00095ef0();" (call_expression "FUN_00095ef0()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar17 = extraout_ECX_00;" (assignment_expression "ppuVar17 = extraout_ECX_00" identifier = identifier) ;) (goto_statement "goto LAB_0009f3a6;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }" if (parenthesized_expression "((*(byte *)(iVar11 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar11 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar11 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar11 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar11 + 0x1c)" * (cast_expression "(byte *)(iVar11 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1c)" ( (binary_expression "iVar11 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }" { (expression_statement "*(undefined4 *)(puVar22 + -4) = extraout_ECX;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = extraout_ECX" (pointer_expression "*(undefined4 *)(puVar22 + -4)" * (cast_expression "(undefined4 *)(puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eef" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64eef" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cca3" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) comment comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f3ed" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar5 = *(int *)(iVar11 + 0x34);" (assignment_expression "iVar5 = *(int *)(iVar11 + 0x34)" identifier = (pointer_expression "*(int *)(iVar11 + 0x34)" * (cast_expression "(int *)(iVar11 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x34)" ( (binary_expression "iVar11 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "iVar11 = *(int *)(iVar11 + 4);" (assignment_expression "iVar11 = *(int *)(iVar11 + 4)" identifier = (pointer_expression "*(int *)(iVar11 + 4)" * (cast_expression "(int *)(iVar11 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 4)" ( (binary_expression "iVar11 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *local_a4;" (assignment_expression "iVar12 = *local_a4" identifier = (pointer_expression "*local_a4" * identifier)) ;) (expression_statement "*(uint *)(puVar22 + -0xc) = local_ac;" (assignment_expression "*(uint *)(puVar22 + -0xc) = local_ac" (pointer_expression "*(uint *)(puVar22 + -0xc)" * (cast_expression "(uint *)(puVar22 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar22 + -0x10) = local_a4;" (assignment_expression "*(int **)(puVar22 + -0x10) = local_a4" (pointer_expression "*(int **)(puVar22 + -0x10)" * (cast_expression "(int **)(puVar22 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar1 = *(code **)(iVar12 + 0xa8);" (assignment_expression "pcVar1 = *(code **)(iVar12 + 0xa8)" identifier = (pointer_expression "*(code **)(iVar12 + 0xa8)" * (cast_expression "(code **)(iVar12 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + 0xa8)" ( (binary_expression "iVar12 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9de86;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9de86" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = (*pcVar1)();" (assignment_expression "iVar12 = (*pcVar1)()" identifier = (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);" (assignment_expression "local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12)" identifier = (cast_expression "(undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12)" ( (binary_expression "(iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12" (binary_expression "(iVar5 * 3 + 0xc) * 4 + iVar11" (binary_expression "(iVar5 * 3 + 0xc) * 4" (parenthesized_expression "(iVar5 * 3 + 0xc)" ( (binary_expression "iVar5 * 3 + 0xc" (binary_expression "iVar5 * 3" identifier * number_literal) + number_literal) )) * number_literal) + identifier) + identifier) )))) ;) (expression_statement "local_9c = &local_4c;" (assignment_expression "local_9c = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) })) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "uVar9 = local_78[2];" (assignment_expression "uVar9 = local_78[2]" identifier = (subscript_expression "local_78[2]" identifier [ number_literal ])) ;) (expression_statement "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;" (assignment_expression "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "local_a8 = (int)local_ac >> 0x1f;" (assignment_expression "local_a8 = (int)local_ac >> 0x1f" identifier = (binary_expression "(int)local_ac >> 0x1f" (cast_expression "(int)local_ac" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }" if (parenthesized_expression "(0xc < local_b8)" ( (binary_expression "0xc < local_b8" number_literal < identifier) )) (compound_statement "{\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }" { (if_statement "if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }" if (parenthesized_expression "(local_b8 < 0x10)" ( (binary_expression "local_b8 < 0x10" identifier < number_literal) )) (compound_statement "{\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }" { (labeled_statement "LAB_0009d56d:\n                    local_b0 = &local_4c;" statement_identifier : (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;)) (expression_statement "uVar9 = local_78[1];" (assignment_expression "uVar9 = local_78[1]" identifier = (subscript_expression "local_78[1]" identifier [ number_literal ])) ;) (expression_statement "iVar11 = *local_a4;" (assignment_expression "iVar11 = *local_a4" identifier = (pointer_expression "*local_a4" * identifier)) ;) (expression_statement "uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;" (assignment_expression "uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8" identifier = (binary_expression "((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8" (parenthesized_expression "((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18)" ( (binary_expression "(uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "(uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal)) )) >> number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" * (cast_expression "(undefined4 *)(puVar22 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(puVar22 + -0x1c) = uVar9;" (assignment_expression "*(uint *)(puVar22 + -0x1c) = uVar9" (pointer_expression "*(uint *)(puVar22 + -0x1c)" * (cast_expression "(uint *)(puVar22 + -0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar22 + -0x20) = local_a4;" (assignment_expression "*(int **)(puVar22 + -0x20) = local_a4" (pointer_expression "*(int **)(puVar22 + -0x20)" * (cast_expression "(int **)(puVar22 + -0x20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x20)" ( (binary_expression "puVar22 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar1 = *(code **)(iVar11 + 0xac);" (assignment_expression "pcVar1 = *(code **)(iVar11 + 0xac)" identifier = (pointer_expression "*(code **)(iVar11 + 0xac)" * (cast_expression "(code **)(iVar11 + 0xac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0xac)" ( (binary_expression "iVar11 + 0xac" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9d58e;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9d58e" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" * (cast_expression "(undefined4 *)(puVar22 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x24)" ( (binary_expression "puVar22 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = (*pcVar1)();" (assignment_expression "cVar7 = (*pcVar1)()" identifier = (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e7" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x650e7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0xd2c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0xd2c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x196252" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f357;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f357" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar11 = *local_a4;" (assignment_expression "iVar11 = *local_a4" identifier = (pointer_expression "*local_a4" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" * (cast_expression "(undefined4 *)(puVar22 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(puVar22 + -0x1c) = uVar9;" (assignment_expression "*(uint *)(puVar22 + -0x1c) = uVar9" (pointer_expression "*(uint *)(puVar22 + -0x1c)" * (cast_expression "(uint *)(puVar22 + -0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar22 + -0x20) = local_a4;" (assignment_expression "*(int **)(puVar22 + -0x20) = local_a4" (pointer_expression "*(int **)(puVar22 + -0x20)" * (cast_expression "(int **)(puVar22 + -0x20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x20)" ( (binary_expression "puVar22 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar1 = *(code **)(iVar11 + 0xb0);" (assignment_expression "pcVar1 = *(code **)(iVar11 + 0xb0)" identifier = (pointer_expression "*(code **)(iVar11 + 0xb0)" * (cast_expression "(code **)(iVar11 + 0xb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0xb0)" ( (binary_expression "iVar11 + 0xb0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9d5b2" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" * (cast_expression "(undefined4 *)(puVar22 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x24)" ( (binary_expression "puVar22 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar1)();" (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0009d200;" goto statement_identifier ;) })) (if_statement "if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;" if (parenthesized_expression "(local_b8 - 0x52 < 3)" ( (binary_expression "local_b8 - 0x52 < 3" (binary_expression "local_b8 - 0x52" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_0009ddfa;" goto statement_identifier ;)) })) (labeled_statement "LAB_0009d5e0:\n                local_b0 = &local_4c;" statement_identifier : (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;)) }))) }) (else_clause "else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }" else (compound_statement "{\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }" { (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (if_statement "if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }" if (parenthesized_expression "(local_b8 - 1 < 0x58)" ( (binary_expression "local_b8 - 1 < 0x58" (binary_expression "local_b8 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }" { (expression_statement "uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));" (assignment_expression "uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561))" identifier = (binary_expression "(uint)*(char *)((int)local_94 + (local_b8 - 0x194561))" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)((int)local_94 + (local_b8 - 0x194561))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + (local_b8 - 0x194561))" ( (binary_expression "(int)local_94 + (local_b8 - 0x194561)" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(local_b8 - 0x194561)" ( (binary_expression "local_b8 - 0x194561" identifier - number_literal) ))) ))))) ;) })) (if_statement "if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }" if (parenthesized_expression "(local_90[6] == (undefined *)0xffffffff)" ( (binary_expression "local_90[6] == (undefined *)0xffffffff" (subscript_expression "local_90[6]" identifier [ number_literal ]) == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }" { (labeled_statement "LAB_0009d17c:\n                uVar9 = local_78[2];" statement_identifier : (expression_statement "uVar9 = local_78[2];" (assignment_expression "uVar9 = local_78[2]" identifier = (subscript_expression "local_78[2]" identifier [ number_literal ])) ;)) (expression_statement "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;" (assignment_expression "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "local_a8 = (int)local_ac >> 0x1f;" (assignment_expression "local_a8 = (int)local_ac >> 0x1f" identifier = (binary_expression "(int)local_ac >> 0x1f" (cast_expression "(int)local_ac" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }" if (parenthesized_expression "(0xc < local_b8)" ( (binary_expression "0xc < local_b8" number_literal < identifier) )) (compound_statement "{\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }" { (if_statement "if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }" if (parenthesized_expression "(0xf < local_b8)" ( (binary_expression "0xf < local_b8" number_literal < identifier) )) (compound_statement "{\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }" { (if_statement "if (2 < local_b8 - 0x52) goto LAB_0009d1f2;" if (parenthesized_expression "(2 < local_b8 - 0x52)" ( (binary_expression "2 < local_b8 - 0x52" number_literal < (binary_expression "local_b8 - 0x52" identifier - number_literal)) )) (goto_statement "goto LAB_0009d1f2;" goto statement_identifier ;)) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (if_statement "if (local_90 != (undefined **)0x0) goto LAB_0009cf73;" if (parenthesized_expression "(local_90 != (undefined **)0x0)" ( (binary_expression "local_90 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0009cf73;" goto statement_identifier ;)) (goto_statement "goto LAB_0009ddfa;" goto statement_identifier ;) })) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (goto_statement "goto LAB_0009cfd0;" goto statement_identifier ;) })) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) }) (else_clause "else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }" else (compound_statement "{\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }" { (expression_statement "cVar19 = *(code *)(local_90 + 10);" (assignment_expression "cVar19 = *(code *)(local_90 + 10)" identifier = (pointer_expression "*(code *)(local_90 + 10)" * (cast_expression "(code *)(local_90 + 10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 10)" ( (binary_expression "local_90 + 10" identifier + number_literal) ))))) ;) (expression_statement "local_ac._0_1_ = cVar19;" (assignment_expression "local_ac._0_1_ = cVar19" (field_expression "local_ac._0_1_" identifier . field_identifier) = identifier) ;) (if_statement "if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }" if (parenthesized_expression "(((byte)cVar19 & 0xf) != 10)" ( (binary_expression "((byte)cVar19 & 0xf) != 10" (parenthesized_expression "((byte)cVar19 & 0xf)" ( (binary_expression "(byte)cVar19 & 0xf" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }" { (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "*(uint *)(puVar22 + -0xc) = uVar9;" (assignment_expression "*(uint *)(puVar22 + -0xc) = uVar9" (pointer_expression "*(uint *)(puVar22 + -0xc)" * (cast_expression "(uint *)(puVar22 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9ce95;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9ce95" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_00071bb0();" (assignment_expression "cVar7 = FUN_00071bb0()" identifier = (call_expression "FUN_00071bb0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }" { (expression_statement "local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);" (assignment_expression "local_ac._0_1_ = *(code *)((int)local_90 + 0x2a)" (field_expression "local_ac._0_1_" identifier . field_identifier) = (pointer_expression "*(code *)((int)local_90 + 0x2a)" * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar18 = (byte)local_ac._0_1_ & 7;" (assignment_expression "bVar18 = (byte)local_ac._0_1_ & 7" identifier = (binary_expression "(byte)local_ac._0_1_ & 7" (cast_expression "(byte)local_ac._0_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "local_ac._0_1_" identifier . field_identifier)) & number_literal)) ;) (if_statement "if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;" if (parenthesized_expression "(((byte)local_ac._0_1_ & 7) != 0)" ( (binary_expression "((byte)local_ac._0_1_ & 7) != 0" (parenthesized_expression "((byte)local_ac._0_1_ & 7)" ( (binary_expression "(byte)local_ac._0_1_ & 7" (cast_expression "(byte)local_ac._0_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "local_ac._0_1_" identifier . field_identifier)) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009d110;" goto statement_identifier ;)) (if_statement "if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;" if (parenthesized_expression "((local_90[2][0x2c] & 1) == 0)" ( (binary_expression "(local_90[2][0x2c] & 1) == 0" (parenthesized_expression "(local_90[2][0x2c] & 1)" ( (binary_expression "local_90[2][0x2c] & 1" (subscript_expression "local_90[2][0x2c]" (subscript_expression "local_90[2]" identifier [ number_literal ]) [ number_literal ]) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009d110;" goto statement_identifier ;)) (labeled_statement "LAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);" statement_identifier : (expression_statement "iVar11 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar11 = *(int *)(param_1 + 0x18)" identifier = (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;)) (if_statement "if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }" { (if_statement "if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;" if (parenthesized_expression "(((uint)local_90[10] & 0xf) == 10)" ( (binary_expression "((uint)local_90[10] & 0xf) == 10" (parenthesized_expression "((uint)local_90[10] & 0xf)" ( (binary_expression "(uint)local_90[10] & 0xf" (cast_expression "(uint)local_90[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_90[10]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009d0aa;" goto statement_identifier ;)) (expression_statement "local_9c = (byte **)0x0;" (assignment_expression "local_9c = (byte **)0x0" identifier = (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0009cefd;" goto statement_identifier ;) })) (labeled_statement "LAB_0009d100:\n                    local_b0 = &local_4c;" statement_identifier : (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;)) (expression_statement "*(undefined4 *)(puVar22 + -4) = 0x9d10e;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = 0x9d10e" (pointer_expression "*(undefined4 *)(puVar22 + -4)" * (cast_expression "(undefined4 *)(puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar18 = FUN_00095ef0();" (assignment_expression "bVar18 = FUN_00095ef0()" identifier = (call_expression "FUN_00095ef0()" identifier (argument_list "()" ( )))) ;) (labeled_statement "LAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;" statement_identifier : (expression_statement "ppuVar17 = local_94 + 0x1f2;" (assignment_expression "ppuVar17 = local_94 + 0x1f2" identifier = (binary_expression "local_94 + 0x1f2" identifier + number_literal)) ;)) (if_statement "if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }" if (parenthesized_expression "(*(int *)(*ppuVar17 + 8) == 0)" ( (binary_expression "*(int *)(*ppuVar17 + 8) == 0" (pointer_expression "*(int *)(*ppuVar17 + 8)" * (cast_expression "(int *)(*ppuVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppuVar17 + 8)" ( (binary_expression "*ppuVar17 + 8" (pointer_expression "*ppuVar17" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64ebf" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f37a;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f37a" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }" if (parenthesized_expression "(*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0')" ( (binary_expression "*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0'" (pointer_expression "*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25)" * (cast_expression "(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*ppuVar17 + 8) + 0x1a25)" ( (binary_expression "*(int *)(*ppuVar17 + 8) + 0x1a25" (pointer_expression "*(int *)(*ppuVar17 + 8)" * (cast_expression "(int *)(*ppuVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppuVar17 + 8)" ( (binary_expression "*ppuVar17 + 8" (pointer_expression "*ppuVar17" * identifier) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }" { (if_statement "if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;" if (parenthesized_expression "(bVar18 == 0)" ( (binary_expression "bVar18 == 0" identifier == number_literal) )) (compound_statement "{\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }" { (if_statement "if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;" if (parenthesized_expression "((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0))" ( (binary_expression "(local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)" (parenthesized_expression "(local_90[3] == (undefined *)0x0)" ( (binary_expression "local_90[3] == (undefined *)0x0" (subscript_expression "local_90[3]" identifier [ number_literal ]) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 0x20" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0009cec6;" goto statement_identifier ;)) }) (else_clause "else if (bVar18 == 4) goto LAB_0009cec6;" else (if_statement "if (bVar18 == 4) goto LAB_0009cec6;" if (parenthesized_expression "(bVar18 == 4)" ( (binary_expression "bVar18 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0009cec6;" goto statement_identifier ;)))) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d168;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d168" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_00071a80();" (assignment_expression "cVar7 = FUN_00071a80()" identifier = (call_expression "FUN_00071a80()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar7 != '\0') goto LAB_0009cec6;" if (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009cec6;" goto statement_identifier ;)) })) (expression_statement "uVar9 = uVar9 & 8;" (assignment_expression "uVar9 = uVar9 & 8" identifier = (binary_expression "uVar9 & 8" identifier & number_literal)) ;) (if_statement "if (uVar9 == 0) goto LAB_0009d17c;" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009d17c;" goto statement_identifier ;)) (if_statement "if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;" if (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2a) & 7" (binary_expression "(byte)*(code *)((int)local_90 + 0x2a)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }" { (if_statement "if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;" if (parenthesized_expression "((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0))" ( (binary_expression "(local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" (parenthesized_expression "(local_90[3] != (undefined *)0x0)" ( (binary_expression "local_90[3] != (undefined *)0x0" (subscript_expression "local_90[3]" identifier [ number_literal ]) != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 0x20" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_0009d17c;" goto statement_identifier ;)) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) }) (else_clause "else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;" else (if_statement "if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;" if (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2a) & 7" (binary_expression "(byte)*(code *)((int)local_90 + 0x2a)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009d17c;" goto statement_identifier ;)))) (expression_statement "local_ac._0_1_ = *(code *)(local_90 + 10);" (assignment_expression "local_ac._0_1_ = *(code *)(local_90 + 10)" (field_expression "local_ac._0_1_" identifier . field_identifier) = (pointer_expression "*(code *)(local_90 + 10)" * (cast_expression "(code *)(local_90 + 10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 10)" ( (binary_expression "local_90 + 10" identifier + number_literal) ))))) ;) (if_statement "if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;" if (parenthesized_expression "(((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))" ( (binary_expression "((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0)" (parenthesized_expression "((byte)local_ac._0_1_ >> 4 == 2)" ( (binary_expression "(byte)local_ac._0_1_ >> 4 == 2" (binary_expression "(byte)local_ac._0_1_ >> 4" (cast_expression "(byte)local_ac._0_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "local_ac._0_1_" identifier . field_identifier)) >> number_literal) == number_literal) )) || (parenthesized_expression "(((uint)local_90[0xb] & 2) != 0)" ( (binary_expression "((uint)local_90[0xb] & 2) != 0" (parenthesized_expression "((uint)local_90[0xb] & 2)" ( (binary_expression "(uint)local_90[0xb] & 2" (cast_expression "(uint)local_90[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_90[0xb]" identifier [ number_literal ])) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0009cec6;" goto statement_identifier ;)) (if_statement "if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }" if (parenthesized_expression "(*(int *)(*ppuVar17 + 8) == 0)" ( (binary_expression "*(int *)(*ppuVar17 + 8) == 0" (pointer_expression "*(int *)(*ppuVar17 + 8)" * (cast_expression "(int *)(*ppuVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppuVar17 + 8)" ( (binary_expression "*ppuVar17 + 8" (pointer_expression "*ppuVar17" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }" { (expression_statement "*(undefined ***)(puVar22 + -4) = ppuVar17;" (assignment_expression "*(undefined ***)(puVar22 + -4) = ppuVar17" (pointer_expression "*(undefined ***)(puVar22 + -4)" * (cast_expression "(undefined ***)(puVar22 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64ebf" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) comment (expression_statement "*(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;" (assignment_expression "*(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3" (pointer_expression "*(undefined **)(puVar22 + -0x14)" * (cast_expression "(undefined **)(puVar22 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0009f4c3" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;" if (parenthesized_expression "(*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0')" ( (binary_expression "*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0'" (pointer_expression "*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1)" * (cast_expression "(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*ppuVar17 + 8) + 0x49b1)" ( (binary_expression "*(int *)(*ppuVar17 + 8) + 0x49b1" (pointer_expression "*(int *)(*ppuVar17 + 8)" * (cast_expression "(int *)(*ppuVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppuVar17 + 8)" ( (binary_expression "*ppuVar17 + 8" (pointer_expression "*ppuVar17" * identifier) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009cec6;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0009d17c;" goto statement_identifier ;) })) (expression_statement "iVar11 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar11 = *(int *)(param_1 + 0x18)" identifier = (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar11 == 0) goto LAB_0009d100;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009d100;" goto statement_identifier ;)) (labeled_statement "LAB_0009d0aa:\n                local_b0 = &local_4c;" statement_identifier : (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;)) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d0c3" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_00071de0();" (assignment_expression "cVar7 = FUN_00071de0()" identifier = (call_expression "FUN_00071de0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_9c = (byte **)0x0;" (assignment_expression "local_9c = (byte **)0x0" identifier = (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (if_statement "if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }" if (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }" { (expression_statement "local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);" (assignment_expression "local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4)" identifier = (cast_expression "(byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4)" ( (binary_expression "(*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4" (parenthesized_expression "(*(int *)(iVar11 + 0x34) * 3 + 0xc)" ( (binary_expression "*(int *)(iVar11 + 0x34) * 3 + 0xc" (binary_expression "*(int *)(iVar11 + 0x34) * 3" (pointer_expression "*(int *)(iVar11 + 0x34)" * (cast_expression "(int *)(iVar11 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x34)" ( (binary_expression "iVar11 + 0x34" identifier + number_literal) )))) * number_literal) + number_literal) )) * number_literal) )))) ;) (expression_statement "local_98 = (int)local_9c >> 0x1f;" (assignment_expression "local_98 = (int)local_9c >> 0x1f" identifier = (binary_expression "(int)local_9c >> 0x1f" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) })) (labeled_statement "LAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }" statement_identifier : (if_statement "if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }" if (parenthesized_expression "((*(byte *)(iVar11 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar11 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar11 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar11 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar11 + 0x1c)" * (cast_expression "(byte *)(iVar11 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1c)" ( (binary_expression "iVar11 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eef" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64eef" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cca3" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) comment comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f2cd" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) }))) (if_statement "if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }" if (parenthesized_expression "(local_90[6] == (undefined *)0xffffffff)" ( (binary_expression "local_90[6] == (undefined *)0xffffffff" (subscript_expression "local_90[6]" identifier [ number_literal ]) == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64fb3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x1ce;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x1ce" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_94 + -0x67308" identifier + number_literal)) ;) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f2f7" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;" (assignment_expression "local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c" identifier = (binary_expression "local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c" (binary_expression "local_90[6] + *(int *)(iVar11 + 4)" (subscript_expression "local_90[6]" identifier [ number_literal ]) + (pointer_expression "*(int *)(iVar11 + 4)" * (cast_expression "(int *)(iVar11 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 4)" ( (binary_expression "iVar11 + 4" identifier + number_literal) ))))) + (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar9 = local_78[2];" (assignment_expression "uVar9 = local_78[2]" identifier = (subscript_expression "local_78[2]" identifier [ number_literal ])) ;) (expression_statement "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;" (assignment_expression "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "local_a8 = (int)local_ac >> 0x1f;" (assignment_expression "local_a8 = (int)local_ac >> 0x1f" identifier = (binary_expression "(int)local_ac >> 0x1f" (cast_expression "(int)local_ac" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }" if (parenthesized_expression "(local_b8 < 0xd)" ( (binary_expression "local_b8 < 0xd" identifier < number_literal) )) (compound_statement "{\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }" { (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "local_9c = local_b0;" (assignment_expression "local_9c = local_b0" identifier = identifier) ;) (goto_statement "goto LAB_0009d200;" goto statement_identifier ;) })) (if_statement "if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }" if (parenthesized_expression "(local_b8 < 0x10)" ( (binary_expression "local_b8 < 0x10" identifier < number_literal) )) (compound_statement "{\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }" { (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "local_9c = local_b0;" (assignment_expression "local_9c = local_b0" identifier = identifier) ;) (if_statement "if (local_90 == (undefined **)0x0) goto LAB_0009d56d;" if (parenthesized_expression "(local_90 == (undefined **)0x0)" ( (binary_expression "local_90 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0009d56d;" goto statement_identifier ;)) }) (else_clause "else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }" else (compound_statement "{\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }" { (expression_statement "local_9c = &local_4c;" (assignment_expression "local_9c = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (if_statement "if (2 < local_b8 - 0x52) goto LAB_0009d5e0;" if (parenthesized_expression "(2 < local_b8 - 0x52)" ( (binary_expression "2 < local_b8 - 0x52" number_literal < (binary_expression "local_b8 - 0x52" identifier - number_literal)) )) (goto_statement "goto LAB_0009d5e0;" goto statement_identifier ;)) (labeled_statement "LAB_0009cf73:\n                  local_b0 = &local_4c;" statement_identifier : (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;)) (expression_statement "cVar19 = *(code *)((int)local_90 + 0x2a);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x2a)" identifier = (pointer_expression "*(code *)((int)local_90 + 0x2a)" * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_c8 = CONCAT31(local_c8._1_3_,cVar19);" (assignment_expression "local_c8 = CONCAT31(local_c8._1_3_,cVar19)" identifier = (call_expression "CONCAT31(local_c8._1_3_,cVar19)" identifier (argument_list "(local_c8._1_3_,cVar19)" ( (field_expression "local_c8._1_3_" identifier . field_identifier) , identifier )))) ;) (if_statement "if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }" if (parenthesized_expression "(((byte)cVar19 & 7) == 0)" ( (binary_expression "((byte)cVar19 & 7) == 0" (parenthesized_expression "((byte)cVar19 & 7)" ( (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }" { (if_statement "if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }" if (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 0x20" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }" { (expression_statement "*(undefined **)(puVar22 + -0x10) = local_90[3];" (assignment_expression "*(undefined **)(puVar22 + -0x10) = local_90[3]" (pointer_expression "*(undefined **)(puVar22 + -0x10)" * (cast_expression "(undefined **)(puVar22 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (subscript_expression "local_90[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d01f;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d01f" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_0034c920();" (assignment_expression "cVar7 = FUN_0034c920()" identifier = (call_expression "FUN_0034c920()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }" { (if_statement "if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;" if (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2a) & 7" (binary_expression "(byte)*(code *)((int)local_90 + 0x2a)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009cfae;" goto statement_identifier ;)) (goto_statement "goto LAB_0009cf9f;" goto statement_identifier ;) })) }) (else_clause "else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }" else (if_statement "if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }" if (parenthesized_expression "(local_90[3] != (undefined *)0x0)" ( (binary_expression "local_90[3] != (undefined *)0x0" (subscript_expression "local_90[3]" identifier [ number_literal ]) != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }" { (labeled_statement "LAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;" statement_identifier : (if_statement "if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;" if (parenthesized_expression "((local_90[2][0x2c] & 1) == 0)" ( (binary_expression "(local_90[2][0x2c] & 1) == 0" (parenthesized_expression "(local_90[2][0x2c] & 1)" ( (binary_expression "local_90[2][0x2c] & 1" (subscript_expression "local_90[2][0x2c]" (subscript_expression "local_90[2]" identifier [ number_literal ]) [ number_literal ]) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009cfae;" goto statement_identifier ;))) })))) }) (else_clause "else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }" else (if_statement "if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }" if (parenthesized_expression "(((byte)cVar19 & 7) != 4)" ( (binary_expression "((byte)cVar19 & 7) != 4" (parenthesized_expression "((byte)cVar19 & 7)" ( (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }" { (labeled_statement "LAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;" statement_identifier : (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9cfbc" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_00071a80();" (assignment_expression "cVar7 = FUN_00071a80()" identifier = (call_expression "FUN_00071a80()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;" if (parenthesized_expression "((cVar7 == '\0') && (bVar24 == 0))" ( (binary_expression "(cVar7 == '\0') && (bVar24 == 0)" (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(bVar24 == 0)" ( (binary_expression "bVar24 == 0" identifier == number_literal) ))) )) (goto_statement "goto LAB_0009ddfa;" goto statement_identifier ;)) })))) }))) (labeled_statement "LAB_0009cfd0:\n                ppuVar17 = local_90 + 7;" statement_identifier : (expression_statement "ppuVar17 = local_90 + 7;" (assignment_expression "ppuVar17 = local_90 + 7" identifier = (binary_expression "local_90 + 7" identifier + number_literal)) ;)) (expression_statement "ppuVar20 = ppuVar17;" (assignment_expression "ppuVar20 = ppuVar17" identifier = identifier) ;) (while_statement "while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }" while (parenthesized_expression "(*ppuVar20 != (undefined *)0x0)" ( (binary_expression "*ppuVar20 != (undefined *)0x0" (pointer_expression "*ppuVar20" * identifier) != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }" { (expression_statement "ppuVar20 = (undefined **)ppuVar20[2];" (assignment_expression "ppuVar20 = (undefined **)ppuVar20[2]" identifier = (cast_expression "(undefined **)ppuVar20[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppuVar20[2]" identifier [ number_literal ]))) ;) (if_statement "if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;" if (parenthesized_expression "(ppuVar20 == (undefined **)0x0)" ( (binary_expression "ppuVar20 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0009cfed;" goto statement_identifier ;)) })) (if_statement "if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }" if (parenthesized_expression "(ppuVar20[1] == (undefined *)0xffffffff)" ( (binary_expression "ppuVar20[1] == (undefined *)0xffffffff" (subscript_expression "ppuVar20[1]" identifier [ number_literal ]) == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }" { (labeled_statement "LAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;" statement_identifier : (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e7" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x650e7" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0xd26;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0xd26" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x196252" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d00e;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d00e" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (while_statement "while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }" while (parenthesized_expression "(*ppuVar17 != (undefined *)0x0)" ( (binary_expression "*ppuVar17 != (undefined *)0x0" (pointer_expression "*ppuVar17" * identifier) != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }" { (expression_statement "ppuVar17 = (undefined **)ppuVar17[2];" (assignment_expression "ppuVar17 = (undefined **)ppuVar17[2]" identifier = (cast_expression "(undefined **)ppuVar17[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppuVar17[2]" identifier [ number_literal ]))) ;) (if_statement "if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;" if (parenthesized_expression "(ppuVar17 == (undefined **)0x0)" ( (binary_expression "ppuVar17 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0009d069;" goto statement_identifier ;)) })) (if_statement "if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }" if (parenthesized_expression "(ppuVar17[1] == (undefined *)0xffffffff)" ( (binary_expression "ppuVar17[1] == (undefined *)0xffffffff" (subscript_expression "ppuVar17[1]" identifier [ number_literal ]) == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }" { (labeled_statement "LAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;" statement_identifier : (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64f5d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x1b7;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x1b7" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_94 + -0x67308" identifier + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;" (assignment_expression "*(undefined **)(puVar22 + -0x14) = &UNK_0009d08a" (pointer_expression "*(undefined **)(puVar22 + -0x14)" * (cast_expression "(undefined **)(puVar22 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0009d08a" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) }))) }))) (labeled_statement "LAB_0009d200:\n            local_c8 = local_c4 + param_9;" statement_identifier : (expression_statement "local_c8 = local_c4 + param_9;" (assignment_expression "local_c8 = local_c4 + param_9" identifier = (binary_expression "local_c4 + param_9" identifier + identifier)) ;)) (if_statement "if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }" if (parenthesized_expression "(local_b8 < 0xfc)" ( (binary_expression "local_b8 < 0xfc" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }" { comment comment (expression_statement "(*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();" (call_expression "(*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))()" (parenthesized_expression "(*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))" ( (pointer_expression "*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94)" * (cast_expression "(code *)(local_94[local_b8 - 0x656fe] + (int)local_94)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94[local_b8 - 0x656fe] + (int)local_94)" ( (binary_expression "local_94[local_b8 - 0x656fe] + (int)local_94" (subscript_expression "local_94[local_b8 - 0x656fe]" identifier [ (binary_expression "local_b8 - 0x656fe" identifier - number_literal) ]) + (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_94 + -0x672b6" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9e3bf" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = *local_78;" (assignment_expression "uVar9 = *local_78" identifier = (pointer_expression "*local_78" * identifier)) ;) (expression_statement "*(uint *)(puVar22 + -0xc) = local_b8;" (assignment_expression "*(uint *)(puVar22 + -0xc) = local_b8" (pointer_expression "*(uint *)(puVar22 + -0xc)" * (cast_expression "(uint *)(puVar22 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "*(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (pointer_expression "*(uint *)(puVar22 + -0x18)" * (cast_expression "(uint *)(puVar22 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "*(int *)(puVar22 + -0x1c) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x1c) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x1c)" * (cast_expression "(int *)(puVar22 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar22 + -0x20) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x20) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x20)" * (cast_expression "(undefined4 **)(puVar22 + -0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x20)" ( (binary_expression "puVar22 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9e3e3" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" * (cast_expression "(undefined4 *)(puVar22 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x24)" ( (binary_expression "puVar22 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023be30();" (call_expression "FUN_0023be30()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(byte ***)(puVar22 + -0x10) = local_b0;" (assignment_expression "*(byte ***)(puVar22 + -0x10) = local_b0" (pointer_expression "*(byte ***)(puVar22 + -0x10)" * (cast_expression "(byte ***)(puVar22 + -0x10)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d286;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d286" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072240();" (call_expression "FUN_00072240()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }" if (parenthesized_expression "(local_90 != (undefined **)0x0)" ( (binary_expression "local_90 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }" { (expression_statement "cVar19 = *(code *)((int)local_90 + 0x2a);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x2a)" identifier = (pointer_expression "*(code *)((int)local_90 + 0x2a)" * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar24 = (byte)cVar19 & 7;" (assignment_expression "bVar24 = (byte)cVar19 & 7" identifier = (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "ppuVar20 = local_90;" (assignment_expression "ppuVar20 = local_90" identifier = identifier) ;) (if_statement "if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }" if (parenthesized_expression "(((byte)cVar19 & 7) == 0)" ( (binary_expression "((byte)cVar19 & 7) == 0" (parenthesized_expression "((byte)cVar19 & 7)" ( (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }" { (if_statement "if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }" if (parenthesized_expression "((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0))" ( (binary_expression "(local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" (parenthesized_expression "(local_90[3] != (undefined *)0x0)" ( (binary_expression "local_90[3] != (undefined *)0x0" (subscript_expression "local_90[3]" identifier [ number_literal ]) != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 0x20" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }" { (expression_statement "ppuVar17 = (undefined **)local_90[2];" (assignment_expression "ppuVar17 = (undefined **)local_90[2]" identifier = (cast_expression "(undefined **)local_90[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_90[2]" identifier [ number_literal ]))) ;) (expression_statement "ppuVar20 = local_94 + -0x15e4b4;" (assignment_expression "ppuVar20 = local_94 + -0x15e4b4" identifier = (binary_expression "local_94 + -0x15e4b4" identifier + number_literal)) ;) (expression_statement "ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);" (assignment_expression "ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14)" identifier = (pointer_expression "*(undefined ***)(*ppuVar17 + 0x14)" * (cast_expression "(undefined ***)(*ppuVar17 + 0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*ppuVar17 + 0x14)" ( (binary_expression "*ppuVar17 + 0x14" (pointer_expression "*ppuVar17" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }" if (parenthesized_expression "(ppuVar2 != ppuVar20)" ( (binary_expression "ppuVar2 != ppuVar20" identifier != identifier) )) (compound_statement "{\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = ppuVar17;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = ppuVar17" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d736;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d736" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar11 = (*(code *)ppuVar2)();" (assignment_expression "iVar11 = (*(code *)ppuVar2)()" identifier = (call_expression "(*(code *)ppuVar2)()" (parenthesized_expression "(*(code *)ppuVar2)" ( (pointer_expression "*(code *)ppuVar2" * (cast_expression "(code *)ppuVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }" { (expression_statement "cVar19 = *(code *)((int)local_90 + 0x2a);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x2a)" identifier = (pointer_expression "*(code *)((int)local_90 + 0x2a)" * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar24 = (byte)cVar19 & 7;" (assignment_expression "bVar24 = (byte)cVar19 & 7" identifier = (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (if_statement "if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }" if (parenthesized_expression "(((byte)cVar19 & 7) == 0)" ( (binary_expression "((byte)cVar19 & 7) == 0" (parenthesized_expression "((byte)cVar19 & 7)" ( (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }" { (if_statement "if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }" if (parenthesized_expression "(local_90[3] == (undefined *)0x0)" ( (binary_expression "local_90[3] == (undefined *)0x0" (subscript_expression "local_90[3]" identifier [ number_literal ]) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }" { (expression_statement "cVar8 = *(code *)((int)local_90 + 0x2b);" (assignment_expression "cVar8 = *(code *)((int)local_90 + 0x2b)" identifier = (pointer_expression "*(code *)((int)local_90 + 0x2b)" * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;" if (parenthesized_expression "(((byte)cVar8 & 0x20) != 0)" ( (binary_expression "((byte)cVar8 & 0x20) != 0" (parenthesized_expression "((byte)cVar8 & 0x20)" ( (binary_expression "(byte)cVar8 & 0x20" (cast_expression "(byte)cVar8" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009d63d;" goto statement_identifier ;)) }) (else_clause "else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }" else (compound_statement "{\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }" { (expression_statement "cVar8 = *(code *)((int)local_90 + 0x2b);" (assignment_expression "cVar8 = *(code *)((int)local_90 + 0x2b)" identifier = (pointer_expression "*(code *)((int)local_90 + 0x2b)" * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }))) (if_statement "if ((char)cVar8 < '\0') goto LAB_0009d900;" if (parenthesized_expression "((char)cVar8 < '\0')" ( (binary_expression "(char)cVar8 < '\0'" (cast_expression "(char)cVar8" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009d900;" goto statement_identifier ;)) }) (else_clause "else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }" else (compound_statement "{\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }" { (if_statement "if (bVar24 == 4) goto LAB_0009d63d;" if (parenthesized_expression "(bVar24 == 4)" ( (binary_expression "bVar24 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0009d63d;" goto statement_identifier ;)) (if_statement "if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;" if (parenthesized_expression "((char)*(code *)((int)local_90 + 0x2b) < '\0')" ( (binary_expression "(char)*(code *)((int)local_90 + 0x2b) < '\0'" (cast_expression "(char)*(code *)((int)local_90 + 0x2b)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(code *)((int)local_90 + 0x2b)" * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009d6b0;" goto statement_identifier ;)) }))) (expression_statement "ppuVar20 = local_94 + 0x1f2;" (assignment_expression "ppuVar20 = local_94 + 0x1f2" identifier = (binary_expression "local_94 + 0x1f2" identifier + number_literal)) ;) (goto_statement "goto LAB_0009d779;" goto statement_identifier ;) })) (goto_statement "goto LAB_0009d970;" goto statement_identifier ;) })) (labeled_statement "LAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;" statement_identifier : (expression_statement "bVar18 = (byte)cVar19 & 7;" (assignment_expression "bVar18 = (byte)cVar19 & 7" identifier = (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;)) (expression_statement "cVar19 = *(code *)((int)local_90 + 0x29);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x29)" identifier = (pointer_expression "*(code *)((int)local_90 + 0x29)" * (cast_expression "(code *)((int)local_90 + 0x29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x29)" ( (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19)" identifier = (cast_expression "(byte **)CONCAT31(local_9c._1_3_,cVar19)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_9c._1_3_,cVar19)" identifier (argument_list "(local_9c._1_3_,cVar19)" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "bVar24 = (byte)cVar19 & 3;" (assignment_expression "bVar24 = (byte)cVar19 & 3" identifier = (binary_expression "(byte)cVar19 & 3" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (if_statement "if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;" if (parenthesized_expression "(((byte)cVar19 & 3) == 0)" ( (binary_expression "((byte)cVar19 & 3) == 0" (parenthesized_expression "((byte)cVar19 & 3)" ( (binary_expression "(byte)cVar19 & 3" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009d380;" goto statement_identifier ;)) (labeled_statement "LAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }" statement_identifier : (if_statement "if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }" if (parenthesized_expression "((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0))" ( (binary_expression "(local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)" (parenthesized_expression "(local_90[3] == (undefined *)0x0)" ( (binary_expression "local_90[3] == (undefined *)0x0" (subscript_expression "local_90[3]" identifier [ number_literal ]) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 0x20" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }" { (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" identifier = (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" identifier (argument_list "(local_9c._1_3_,*(code *)(local_90 + 10))" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , (pointer_expression "*(code *)(local_90 + 10)" * (cast_expression "(code *)(local_90 + 10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 10)" ( (binary_expression "local_90 + 10" identifier + number_literal) )))) ))))) ;) (expression_statement "bVar16 = (byte)*(code *)(local_90 + 10) >> 4;" (assignment_expression "bVar16 = (byte)*(code *)(local_90 + 10) >> 4" identifier = (binary_expression "(byte)*(code *)(local_90 + 10) >> 4" (binary_expression "(byte)*(code *)(local_90 + 10)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)(local_90 + 10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 10)" ( (binary_expression "local_90 + 10" identifier + number_literal) )))) >> number_literal)) ;) (expression_statement "ppuVar17 = (undefined **)(uint)bVar16;" (assignment_expression "ppuVar17 = (undefined **)(uint)bVar16" identifier = (cast_expression "(undefined **)(uint)bVar16" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(uint)bVar16" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;" if (parenthesized_expression "((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))" ( (binary_expression "(bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0)" (parenthesized_expression "(bVar16 != 2)" ( (binary_expression "bVar16 != 2" identifier != number_literal) )) && (parenthesized_expression "(ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0)" ( (comma_expression "ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0" (assignment_expression "ppuVar17 = local_90" identifier = identifier) , (binary_expression "((uint)local_90[0xb] & 2) == 0" (parenthesized_expression "((uint)local_90[0xb] & 2)" ( (binary_expression "(uint)local_90[0xb] & 2" (cast_expression "(uint)local_90[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_90[0xb]" identifier [ number_literal ])) & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_0009d701;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }" statement_identifier : (if_statement "if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }" if (parenthesized_expression "((local_90[2][0x2c] & 1) != 0)" ( (binary_expression "(local_90[2][0x2c] & 1) != 0" (parenthesized_expression "(local_90[2][0x2c] & 1)" ( (binary_expression "local_90[2][0x2c] & 1" (subscript_expression "local_90[2][0x2c]" (subscript_expression "local_90[2]" identifier [ number_literal ]) [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }" { (labeled_statement "LAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }" statement_identifier : (if_statement "if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }" if (parenthesized_expression "(bVar24 == 2)" ( (binary_expression "bVar24 == 2" identifier == number_literal) )) (compound_statement "{\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }" { (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19ca5d" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9e2b5" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }" else (if_statement "if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }" if (parenthesized_expression "(bVar24 < 3)" ( (binary_expression "bVar24 < 3" identifier < number_literal) )) (compound_statement "{\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }" { (if_statement "if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }" if (parenthesized_expression "(bVar24 != 1)" ( (binary_expression "bVar24 != 1" identifier != number_literal) )) (compound_statement "{\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }" { (labeled_statement "LAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;" statement_identifier : (expression_statement "*(undefined ***)(puVar22 + -4) = ppuVar17;" (assignment_expression "*(undefined ***)(puVar22 + -4) = ppuVar17" (pointer_expression "*(undefined ***)(puVar22 + -4)" * (cast_expression "(undefined ***)(puVar22 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64fbc" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0xa4;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0xa4" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cb27" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f3c5" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19ca66" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d99d;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d99d" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }" else (compound_statement "{\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }" { (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19ca56" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d344;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d344" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) })))))) (expression_statement "puVar3 = *local_90;" (assignment_expression "puVar3 = *local_90" identifier = (pointer_expression "*local_90" * identifier)) ;) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_94 + -0x67173" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d368;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d368" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar10 = gettext();" (assignment_expression "uVar10 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined **)(puVar22 + -8) = puVar3;" (assignment_expression "*(undefined **)(puVar22 + -8) = puVar3" (pointer_expression "*(undefined **)(puVar22 + -8)" * (cast_expression "(undefined **)(puVar22 + -8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar10;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar10" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d379;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d379" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b810();" (call_expression "FUN_0023b810()" identifier (argument_list "()" ( ))) ;) }))) (goto_statement "goto LAB_0009d380;" goto statement_identifier ;) })) (labeled_statement "LAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));" statement_identifier : (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" identifier = (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" identifier (argument_list "(local_9c._1_3_,*(code *)(local_90 + 10))" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , (pointer_expression "*(code *)(local_90 + 10)" * (cast_expression "(code *)(local_90 + 10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 10)" ( (binary_expression "local_90 + 10" identifier + number_literal) )))) ))))) ;)) (if_statement "if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }" if (parenthesized_expression "(((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))" ( (binary_expression "((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0)" (parenthesized_expression "((byte)*(code *)(local_90 + 10) >> 4 == 2)" ( (binary_expression "(byte)*(code *)(local_90 + 10) >> 4 == 2" (binary_expression "(byte)*(code *)(local_90 + 10) >> 4" (binary_expression "(byte)*(code *)(local_90 + 10)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)(local_90 + 10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 10)" ( (binary_expression "local_90 + 10" identifier + number_literal) )))) >> number_literal) == number_literal) )) || (parenthesized_expression "(((uint)local_90[0xb] & 2) != 0)" ( (binary_expression "((uint)local_90[0xb] & 2) != 0" (parenthesized_expression "((uint)local_90[0xb] & 2)" ( (binary_expression "(uint)local_90[0xb] & 2" (cast_expression "(uint)local_90[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_90[0xb]" identifier [ number_literal ])) & number_literal) )) != number_literal) ))) )) (compound_statement "{\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }" { (labeled_statement "LAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));" statement_identifier : (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" identifier = (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" identifier (argument_list "(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , (pointer_expression "*(code *)((int)local_90 + 0x29)" * (cast_expression "(code *)((int)local_90 + 0x29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x29)" ( (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;)) (expression_statement "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;" (assignment_expression "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3" identifier = (binary_expression "(byte)*(code *)((int)local_90 + 0x29) & 3" (binary_expression "(byte)*(code *)((int)local_90 + 0x29)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x29)" ( (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (labeled_statement "LAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;" statement_identifier : (if_statement "if (bVar24 == 0) goto LAB_0009d380;" if (parenthesized_expression "(bVar24 == 0)" ( (binary_expression "bVar24 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009d380;" goto statement_identifier ;))) (expression_statement "cVar19 = *(code *)((int)local_90 + 0x2a);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x2a)" identifier = (pointer_expression "*(code *)((int)local_90 + 0x2a)" * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "ppuVar17 = (undefined **)(uint)(byte)cVar19;" (assignment_expression "ppuVar17 = (undefined **)(uint)(byte)cVar19" identifier = (cast_expression "(undefined **)(uint)(byte)cVar19" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(uint)(byte)cVar19" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier)))) ;) (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19)" identifier = (cast_expression "(byte **)CONCAT31(local_9c._1_3_,cVar19)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_9c._1_3_,cVar19)" identifier (argument_list "(local_9c._1_3_,cVar19)" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "bVar18 = (byte)cVar19 & 7;" (assignment_expression "bVar18 = (byte)cVar19 & 7" identifier = (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (if_statement "if (bVar18 != 0) goto LAB_0009d6cc;" if (parenthesized_expression "(bVar18 != 0)" ( (binary_expression "bVar18 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009d6cc;" goto statement_identifier ;)) (goto_statement "goto LAB_0009d2fb;" goto statement_identifier ;) })) (expression_statement "ppuVar20 = local_94 + 0x1f2;" (assignment_expression "ppuVar20 = local_94 + 0x1f2" identifier = (binary_expression "local_94 + 0x1f2" identifier + number_literal)) ;) (if_statement "if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }" if (parenthesized_expression "(*(int *)(*ppuVar20 + 8) == 0)" ( (binary_expression "*(int *)(*ppuVar20 + 8) == 0" (pointer_expression "*(int *)(*ppuVar20 + 8)" * (cast_expression "(int *)(*ppuVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppuVar20 + 8)" ( (binary_expression "*ppuVar20 + 8" (pointer_expression "*ppuVar20" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }" { (expression_statement "*(undefined4 *)(puVar22 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -4)" * (cast_expression "(undefined4 *)(puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64ebf" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f447;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f447" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;" if (parenthesized_expression "(*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0')" ( (binary_expression "*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0'" (pointer_expression "*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1)" * (cast_expression "(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*ppuVar20 + 8) + 0x49b1)" ( (binary_expression "*(int *)(*ppuVar20 + 8) + 0x49b1" (pointer_expression "*(int *)(*ppuVar20 + 8)" * (cast_expression "(int *)(*ppuVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppuVar20 + 8)" ( (binary_expression "*ppuVar20 + 8" (pointer_expression "*ppuVar20" * identifier) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009d970;" goto statement_identifier ;)) (if_statement "if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }" if (parenthesized_expression "((char)*(code *)((int)local_90 + 0x2b) < '\0')" ( (binary_expression "(char)*(code *)((int)local_90 + 0x2b) < '\0'" (cast_expression "(char)*(code *)((int)local_90 + 0x2b)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(code *)((int)local_90 + 0x2b)" * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }" { (if_statement "if (bVar24 != 0) goto LAB_0009d6b0;" if (parenthesized_expression "(bVar24 != 0)" ( (binary_expression "bVar24 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009d6b0;" goto statement_identifier ;)) (expression_statement "ppuVar20 = local_94 + -0x15e4b4;" (assignment_expression "ppuVar20 = local_94 + -0x15e4b4" identifier = (binary_expression "local_94 + -0x15e4b4" identifier + number_literal)) ;) (labeled_statement "LAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];" statement_identifier : (expression_statement "ppuVar17 = (undefined **)local_90[2];" (assignment_expression "ppuVar17 = (undefined **)local_90[2]" identifier = (cast_expression "(undefined **)local_90[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_90[2]" identifier [ number_literal ]))) ;)) (expression_statement "ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);" (assignment_expression "ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14)" identifier = (pointer_expression "*(undefined ***)(*ppuVar17 + 0x14)" * (cast_expression "(undefined ***)(*ppuVar17 + 0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*ppuVar17 + 0x14)" ( (binary_expression "*ppuVar17 + 0x14" (pointer_expression "*ppuVar17" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar2 == ppuVar20) goto LAB_0009d2df;" if (parenthesized_expression "(ppuVar2 == ppuVar20)" ( (binary_expression "ppuVar2 == ppuVar20" identifier == identifier) )) (goto_statement "goto LAB_0009d2df;" goto statement_identifier ;)) (expression_statement "*(undefined ***)(puVar22 + -0x10) = ppuVar17;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = ppuVar17" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d91c;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d91c" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar11 = (*(code *)ppuVar2)();" (assignment_expression "iVar11 = (*(code *)ppuVar2)()" identifier = (call_expression "(*(code *)ppuVar2)()" (parenthesized_expression "(*(code *)ppuVar2)" ( (pointer_expression "*(code *)ppuVar2" * (cast_expression "(code *)ppuVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "ppuVar20 = local_e0;" (assignment_expression "ppuVar20 = local_e0" identifier = identifier) ;) (if_statement "if (iVar11 != 0) goto LAB_0009d779;" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009d779;" goto statement_identifier ;)) (labeled_statement "LAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));" statement_identifier : (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" identifier = (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" identifier (argument_list "(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , (pointer_expression "*(code *)((int)local_90 + 0x29)" * (cast_expression "(code *)((int)local_90 + 0x29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x29)" ( (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;)) (expression_statement "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;" (assignment_expression "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3" identifier = (binary_expression "(byte)*(code *)((int)local_90 + 0x29) & 3" (binary_expression "(byte)*(code *)((int)local_90 + 0x29)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x29)" ( (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (goto_statement "goto LAB_0009d943;" goto statement_identifier ;) })) (labeled_statement "LAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);" statement_identifier : (expression_statement "piVar4 = *(int **)(*ppuVar20 + 0xc);" (assignment_expression "piVar4 = *(int **)(*ppuVar20 + 0xc)" identifier = (pointer_expression "*(int **)(*ppuVar20 + 0xc)" * (cast_expression "(int **)(*ppuVar20 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*ppuVar20 + 0xc)" ( (binary_expression "*ppuVar20 + 0xc" (pointer_expression "*ppuVar20" * identifier) + number_literal) ))))) ;)) (if_statement "if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }" if (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64fb7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x69;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x69" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f336;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f336" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar11 = *piVar4;" (assignment_expression "iVar11 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "*(undefined ***)(puVar22 + -0xc) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0xc) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0xc)" * (cast_expression "(undefined ***)(puVar22 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar22 + -0x10) = piVar4;" (assignment_expression "*(int **)(puVar22 + -0x10) = piVar4" (pointer_expression "*(int **)(puVar22 + -0x10)" * (cast_expression "(int **)(puVar22 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar1 = *(code **)(iVar11 + 0x1c);" (assignment_expression "pcVar1 = *(code **)(iVar11 + 0x1c)" identifier = (pointer_expression "*(code **)(iVar11 + 0x1c)" * (cast_expression "(code **)(iVar11 + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x1c)" ( (binary_expression "iVar11 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d795;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d795" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = (*pcVar1)();" (assignment_expression "cVar7 = (*pcVar1)()" identifier = (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (cVar7 != '\0') goto LAB_0009d930;" if (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009d930;" goto statement_identifier ;)) (expression_statement "ppuVar20 = *(undefined ***)(*ppuVar20 + 8);" (assignment_expression "ppuVar20 = *(undefined ***)(*ppuVar20 + 8)" identifier = (pointer_expression "*(undefined ***)(*ppuVar20 + 8)" * (cast_expression "(undefined ***)(*ppuVar20 + 8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*ppuVar20 + 8)" ( (binary_expression "*ppuVar20 + 8" (pointer_expression "*ppuVar20" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }" if (parenthesized_expression "(ppuVar20 == (undefined **)0x0)" ( (binary_expression "ppuVar20 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64ebf" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f398;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f398" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "pbVar21 = ppuVar20[0x10b9];" (assignment_expression "pbVar21 = ppuVar20[0x10b9]" identifier = (subscript_expression "ppuVar20[0x10b9]" identifier [ number_literal ])) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar28 = pbVar21 == (byte *)0x0;" (assignment_expression "bVar28 = 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 (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }" if (parenthesized_expression "(bVar28)" ( identifier )) (compound_statement "{\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }" { (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" identifier = (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" identifier (argument_list "(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , (pointer_expression "*(code *)((int)local_90 + 0x29)" * (cast_expression "(code *)((int)local_90 + 0x29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x29)" ( (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;" (assignment_expression "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3" identifier = (binary_expression "(byte)*(code *)((int)local_90 + 0x29) & 3" (binary_expression "(byte)*(code *)((int)local_90 + 0x29)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x29)" ( (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (labeled_statement "LAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;" statement_identifier : (if_statement "if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;" if (parenthesized_expression "((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0))))" ( (binary_expression "(bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))" (parenthesized_expression "(bVar24 == 2)" ( (binary_expression "bVar24 == 2" identifier == number_literal) )) || (parenthesized_expression "((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))" ( (parenthesized_expression "(*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0))" ( (binary_expression "*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)" (binary_expression "*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0" (pointer_expression "*(code *)((int)ppuVar20 + 0x1a25)" * (cast_expression "(code *)((int)ppuVar20 + 0x1a25)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar20 + 0x1a25)" ( (binary_expression "(int)ppuVar20 + 0x1a25" (cast_expression "(int)ppuVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) || (parenthesized_expression "(*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)" ( (binary_expression "*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0" (pointer_expression "*(code *)((int)ppuVar20 + 0x4eb5)" * (cast_expression "(code *)((int)ppuVar20 + 0x4eb5)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar20 + 0x4eb5)" ( (binary_expression "(int)ppuVar20 + 0x4eb5" (cast_expression "(int)ppuVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) ))) )) (goto_statement "goto LAB_0009d874;" goto statement_identifier ;))) (goto_statement "goto LAB_0009d943;" goto statement_identifier ;) })) (expression_statement "iVar11 = 0xb;" (assignment_expression "iVar11 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar13 = pbVar21;" (assignment_expression "pbVar13 = pbVar21" identifier = identifier) ;) (expression_statement "pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);" (assignment_expression "pbVar25 = (byte *)((int)local_94 + -0x1a1fa6)" identifier = (cast_expression "(byte *)((int)local_94 + -0x1a1fa6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x1a1fa6)" ( (binary_expression "(int)local_94 + -0x1a1fa6" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);" do (compound_statement "{\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar13 < *pbVar25;" (assignment_expression "bVar26 = *pbVar13 < *pbVar25" identifier = (binary_expression "*pbVar13 < *pbVar25" (pointer_expression "*pbVar13" * identifier) < (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "bVar28 = *pbVar13 == *pbVar25;" (assignment_expression "bVar28 = *pbVar13 == *pbVar25" identifier = (binary_expression "*pbVar13 == *pbVar25" (pointer_expression "*pbVar13" * identifier) == (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar25 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar28)" ( identifier )) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar26 && !bVar28) == bVar26;" (assignment_expression "bVar26 = (!bVar26 && !bVar28) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar28) == bVar26" (parenthesized_expression "(!bVar26 && !bVar28)" ( (binary_expression "!bVar26 && !bVar28" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar28" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar26) goto LAB_0009d930;" if (parenthesized_expression "(bVar26)" ( identifier )) (goto_statement "goto LAB_0009d930;" goto statement_identifier ;)) (expression_statement "iVar11 = 0xb;" (assignment_expression "iVar11 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar13 = pbVar21;" (assignment_expression "pbVar13 = pbVar21" identifier = identifier) ;) (expression_statement "pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);" (assignment_expression "pbVar25 = (byte *)((int)local_94 + -0x1a1f9b)" identifier = (cast_expression "(byte *)((int)local_94 + -0x1a1f9b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x1a1f9b)" ( (binary_expression "(int)local_94 + -0x1a1f9b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);" do (compound_statement "{\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar13 < *pbVar25;" (assignment_expression "bVar27 = *pbVar13 < *pbVar25" identifier = (binary_expression "*pbVar13 < *pbVar25" (pointer_expression "*pbVar13" * identifier) < (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "bVar26 = *pbVar13 == *pbVar25;" (assignment_expression "bVar26 = *pbVar13 == *pbVar25" identifier = (binary_expression "*pbVar13 == *pbVar25" (pointer_expression "*pbVar13" * identifier) == (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar25 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar27 && !bVar26) == bVar27;" (assignment_expression "bVar26 = (!bVar27 && !bVar26) == bVar27" identifier = (binary_expression "(!bVar27 && !bVar26) == bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" ( (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }" { (expression_statement "iVar11 = 0x17;" (assignment_expression "iVar11 = 0x17" identifier = number_literal) ;) (expression_statement "pbVar13 = pbVar21;" (assignment_expression "pbVar13 = pbVar21" identifier = identifier) ;) (expression_statement "ppuVar17 = local_94 + -0x687e4;" (assignment_expression "ppuVar17 = local_94 + -0x687e4" identifier = (binary_expression "local_94 + -0x687e4" identifier + number_literal)) ;) (do_statement "do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);" do (compound_statement "{\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar13 < *(byte *)ppuVar17;" (assignment_expression "bVar28 = *pbVar13 < *(byte *)ppuVar17" identifier = (binary_expression "*pbVar13 < *(byte *)ppuVar17" (pointer_expression "*pbVar13" * identifier) < (pointer_expression "*(byte *)ppuVar17" * (cast_expression "(byte *)ppuVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar26 = *pbVar13 == *(byte *)ppuVar17;" (assignment_expression "bVar26 = *pbVar13 == *(byte *)ppuVar17" identifier = (binary_expression "*pbVar13 == *(byte *)ppuVar17" (pointer_expression "*pbVar13" * identifier) == (pointer_expression "*(byte *)ppuVar17" * (cast_expression "(byte *)ppuVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);" (assignment_expression "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar17 + (uint)bVar29 * -2 + 1)" ( (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2 + 1" (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2" (cast_expression "(int)ppuVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" identifier = (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" identifier (argument_list "(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , (pointer_expression "*(code *)((int)local_90 + 0x29)" * (cast_expression "(code *)((int)local_90 + 0x29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x29)" ( (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;" (assignment_expression "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3" identifier = (binary_expression "(byte)*(code *)((int)local_90 + 0x29) & 3" (binary_expression "(byte)*(code *)((int)local_90 + 0x29)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x29)" ( (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (expression_statement "bVar26 = (!bVar28 && !bVar26) == bVar28;" (assignment_expression "bVar26 = (!bVar28 && !bVar26) == bVar28" identifier = (binary_expression "(!bVar28 && !bVar26) == bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" ( (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }" if (parenthesized_expression "((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26))" ( (binary_expression "(!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)" (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) || (parenthesized_expression "(bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)" ( (comma_expression "bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26" (assignment_expression "bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0" identifier = (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 1)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 1" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal)) , (unary_expression "!bVar26" ! identifier)) ))) )) (compound_statement "{\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }" { (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "iVar11 = 0x16;" (assignment_expression "iVar11 = 0x16" identifier = number_literal) ;) (expression_statement "pbVar13 = (byte *)((int)local_94 + -0x1a1f79);" (assignment_expression "pbVar13 = (byte *)((int)local_94 + -0x1a1f79)" identifier = (cast_expression "(byte *)((int)local_94 + -0x1a1f79)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x1a1f79)" ( (binary_expression "(int)local_94 + -0x1a1f79" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);" do (compound_statement "{\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar21 < *pbVar13;" (assignment_expression "bVar28 = *pbVar21 < *pbVar13" identifier = (binary_expression "*pbVar21 < *pbVar13" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "bVar26 = *pbVar21 == *pbVar13;" (assignment_expression "bVar26 = *pbVar21 == *pbVar13" identifier = (binary_expression "*pbVar21 == *pbVar13" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (if_statement "if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;" if (parenthesized_expression "(((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0'))" ( (binary_expression "((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')" (parenthesized_expression "((!bVar28 && !bVar26) != bVar28)" ( (binary_expression "(!bVar28 && !bVar26) != bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" ( (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) != identifier) )) || (parenthesized_expression "((char)*(code *)((int)local_90 + 0x2a) < '\0')" ( (binary_expression "(char)*(code *)((int)local_90 + 0x2a) < '\0'" (cast_expression "(char)*(code *)((int)local_90 + 0x2a)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(code *)((int)local_90 + 0x2a)" * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_0009d85a;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0009d943;" goto statement_identifier ;) })) (labeled_statement "LAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;" statement_identifier : (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_c4 >> 0x1f" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;)) (expression_statement "*(uint *)(puVar22 + -0x14) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -0x14) = local_c4" (pointer_expression "*(uint *)(puVar22 + -0x14)" * (cast_expression "(uint *)(puVar22 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -0x18) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x18) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x18)" * (cast_expression "(int *)(puVar22 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar22 + -0x1c) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x1c) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x1c)" * (cast_expression "(undefined4 **)(puVar22 + -0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar22 + -0x20) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0x20) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0x20)" * (cast_expression "(undefined ***)(puVar22 + -0x20)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x20)" ( (binary_expression "puVar22 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9d89a;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9d89a" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" * (cast_expression "(undefined4 *)(puVar22 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x24)" ( (binary_expression "puVar22 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023c700();" (call_expression "FUN_0023c700()" identifier (argument_list "()" ( ))) ;) (expression_statement "cVar19 = *(code *)((int)local_90 + 0x2b);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x2b)" identifier = (pointer_expression "*(code *)((int)local_90 + 0x2b)" * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "ppuVar17 = local_90;" (assignment_expression "ppuVar17 = local_90" identifier = identifier) ;) }) (else_clause "else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }" else (compound_statement "{\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }" { (if_statement "if (bVar24 == 4) goto LAB_0009d63d;" if (parenthesized_expression "(bVar24 == 4)" ( (binary_expression "bVar24 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0009d63d;" goto statement_identifier ;)) (labeled_statement "LAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);" statement_identifier : (expression_statement "cVar8 = *(code *)((int)local_90 + 0x29);" (assignment_expression "cVar8 = *(code *)((int)local_90 + 0x29)" identifier = (pointer_expression "*(code *)((int)local_90 + 0x29)" * (cast_expression "(code *)((int)local_90 + 0x29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x29)" ( (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8)" identifier = (cast_expression "(byte **)CONCAT31(local_9c._1_3_,cVar8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_9c._1_3_,cVar8)" identifier (argument_list "(local_9c._1_3_,cVar8)" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "bVar24 = (byte)cVar8 & 3;" (assignment_expression "bVar24 = (byte)cVar8 & 3" identifier = (binary_expression "(byte)cVar8 & 3" (cast_expression "(byte)cVar8" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (if_statement "if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }" if (parenthesized_expression "(((byte)cVar8 & 3) != 0)" ( (binary_expression "((byte)cVar8 & 3) != 0" (parenthesized_expression "((byte)cVar8 & 3)" ( (binary_expression "(byte)cVar8 & 3" (cast_expression "(byte)cVar8" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }" { (expression_statement "bVar18 = (byte)cVar19 & 7;" (assignment_expression "bVar18 = (byte)cVar19 & 7" identifier = (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (labeled_statement "LAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }" statement_identifier : (if_statement "if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }" if (parenthesized_expression "(bVar18 == 4)" ( (binary_expression "bVar18 == 4" identifier == number_literal) )) (compound_statement "{\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }" { (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" identifier = (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" identifier (argument_list "(local_9c._1_3_,*(code *)(local_90 + 10))" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , (pointer_expression "*(code *)(local_90 + 10)" * (cast_expression "(code *)(local_90 + 10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 10)" ( (binary_expression "local_90 + 10" identifier + number_literal) )))) ))))) ;) (if_statement "if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;" if (parenthesized_expression "(((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0))" ( (binary_expression "((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)" (parenthesized_expression "((byte)*(code *)(local_90 + 10) >> 4 == 2)" ( (binary_expression "(byte)*(code *)(local_90 + 10) >> 4 == 2" (binary_expression "(byte)*(code *)(local_90 + 10) >> 4" (binary_expression "(byte)*(code *)(local_90 + 10)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)(local_90 + 10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 10)" ( (binary_expression "local_90 + 10" identifier + number_literal) )))) >> number_literal) == number_literal) )) || (parenthesized_expression "(bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)" ( (comma_expression "bVar18 = 4, ((uint)local_90[0xb] & 2) != 0" (assignment_expression "bVar18 = 4" identifier = number_literal) , (binary_expression "((uint)local_90[0xb] & 2) != 0" (parenthesized_expression "((uint)local_90[0xb] & 2)" ( (binary_expression "(uint)local_90[0xb] & 2" (cast_expression "(uint)local_90[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_90[0xb]" identifier [ number_literal ])) & number_literal) )) != number_literal)) ))) )) (goto_statement "goto LAB_0009d380;" goto statement_identifier ;)) (labeled_statement "LAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);" statement_identifier : (expression_statement "ppuVar17 = *(undefined ***)(*local_dc + 8);" (assignment_expression "ppuVar17 = *(undefined ***)(*local_dc + 8)" identifier = (pointer_expression "*(undefined ***)(*local_dc + 8)" * (cast_expression "(undefined ***)(*local_dc + 8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*local_dc + 8)" ( (binary_expression "*local_dc + 8" (pointer_expression "*local_dc" * identifier) + number_literal) ))))) ;)) (if_statement "if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }" if (parenthesized_expression "(ppuVar17 == (undefined **)0x0)" ( (binary_expression "ppuVar17 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }" { (expression_statement "*(undefined ***)(puVar22 + -4) = ppuVar20;" (assignment_expression "*(undefined ***)(puVar22 + -4) = ppuVar20" (pointer_expression "*(undefined ***)(puVar22 + -4)" * (cast_expression "(undefined ***)(puVar22 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64ebf" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined **)(puVar22 + -0x14) = &UNK_0009f171;" (assignment_expression "*(undefined **)(puVar22 + -0x14) = &UNK_0009f171" (pointer_expression "*(undefined **)(puVar22 + -0x14)" * (cast_expression "(undefined **)(puVar22 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0009f171" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;" if (parenthesized_expression "(*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0)" ( (binary_expression "*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0" (pointer_expression "*(code *)((int)ppuVar17 + 0x49b1)" * (cast_expression "(code *)((int)ppuVar17 + 0x49b1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar17 + 0x49b1)" ( (binary_expression "(int)ppuVar17 + 0x49b1" (cast_expression "(int)ppuVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_0009d321;" goto statement_identifier ;)) (if_statement "if (bVar18 == 0) goto LAB_0009d312;" if (parenthesized_expression "(bVar18 == 0)" ( (binary_expression "bVar18 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009d312;" goto statement_identifier ;)) }))) })) (labeled_statement "LAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);" statement_identifier : (expression_statement "cVar19 = *(code *)((int)local_90 + 0x2b);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x2b)" identifier = (pointer_expression "*(code *)((int)local_90 + 0x2b)" * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "ppuVar17 = local_90;" (assignment_expression "ppuVar17 = local_90" identifier = identifier) ;) }))) (expression_statement "local_90 = ppuVar17;" (assignment_expression "local_90 = ppuVar17" identifier = identifier) ;) (if_statement "if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }" if (parenthesized_expression "(((byte)cVar19 & 4) != 0)" ( (binary_expression "((byte)cVar19 & 4) != 0" (parenthesized_expression "((byte)cVar19 & 4)" ( (binary_expression "(byte)cVar19 & 4" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }" { (expression_statement "*(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;" (assignment_expression "*(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f" (pointer_expression "*(int *)(puVar22 + -0xc)" * (cast_expression "(int *)(puVar22 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (binary_expression "(int)local_c4 >> 0x1f" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)(puVar22 + -0x10) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -0x10) = local_c4" (pointer_expression "*(uint *)(puVar22 + -0x10)" * (cast_expression "(uint *)(puVar22 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -0x14) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x14) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x14)" * (cast_expression "(int *)(puVar22 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_90 = (undefined **)*param_2;" (assignment_expression "local_90 = (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 **)(puVar22 + -0x18) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x18) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x18)" * (cast_expression "(undefined4 **)(puVar22 + -0x18)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar22 + -0x1c) = ppuVar17;" (assignment_expression "*(undefined ***)(puVar22 + -0x1c) = ppuVar17" (pointer_expression "*(undefined ***)(puVar22 + -0x1c)" * (cast_expression "(undefined ***)(puVar22 + -0x1c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;" (assignment_expression "*(undefined ***)(puVar22 + -0x20) = local_90 + 0x40" (pointer_expression "*(undefined ***)(puVar22 + -0x20)" * (cast_expression "(undefined ***)(puVar22 + -0x20)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x20)" ( (binary_expression "puVar22 + -0x20" identifier + number_literal) )))) = (binary_expression "local_90 + 0x40" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9d8e4" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" * (cast_expression "(undefined4 *)(puVar22 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x24)" ( (binary_expression "puVar22 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003509b0();" (call_expression "FUN_003509b0()" identifier (argument_list "()" ( ))) ;) })) })) }) (else_clause "else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }" else (compound_statement "{\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }" { (labeled_statement "LAB_0009dd10:\n            local_78 = param_4;" statement_identifier : (expression_statement "local_78 = param_4;" (assignment_expression "local_78 = param_4" identifier = identifier) ;)) (if_statement "if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }" if (parenthesized_expression "(local_b8 != 0x3a)" ( (binary_expression "local_b8 != 0x3a" identifier != number_literal) )) (compound_statement "{\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_94 + -0x671be" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9dd30;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9dd30" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = *local_78;" (assignment_expression "uVar9 = *local_78" identifier = (pointer_expression "*local_78" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "*(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (pointer_expression "*(uint *)(puVar22 + -0x18)" * (cast_expression "(uint *)(puVar22 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "*(int *)(puVar22 + -0x1c) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x1c) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x1c)" * (cast_expression "(int *)(puVar22 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar22 + -0x20) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x20) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x20)" * (cast_expression "(undefined4 **)(puVar22 + -0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x20)" ( (binary_expression "puVar22 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9dd4e" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" * (cast_expression "(undefined4 *)(puVar22 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x24)" ( (binary_expression "puVar22 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023be30();" (call_expression "FUN_0023be30()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0009cdf2;" goto statement_identifier ;) })) (expression_statement "local_74 = '\0';" (assignment_expression "local_74 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }))) }))) (expression_statement "*(byte ***)(puVar22 + -0x10) = local_d0;" (assignment_expression "*(byte ***)(puVar22 + -0x10) = local_d0" (pointer_expression "*(byte ***)(puVar22 + -0x10)" * (cast_expression "(byte ***)(puVar22 + -0x10)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d39e;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d39e" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072240();" (call_expression "FUN_00072240()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(byte ***)(puVar22 + -0x10) = local_bc;" (assignment_expression "*(byte ***)(puVar22 + -0x10) = local_bc" (pointer_expression "*(byte ***)(puVar22 + -0x10)" * (cast_expression "(byte ***)(puVar22 + -0x10)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d3aa" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072240();" (call_expression "FUN_00072240()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */\n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }" else (compound_statement "{\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */\n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }" { (expression_statement "*(uint *)(puVar22 + -4) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -4) = local_c4" (pointer_expression "*(uint *)(puVar22 + -4)" * (cast_expression "(uint *)(puVar22 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -8) = param_2[6];" (assignment_expression "*(undefined4 *)(puVar22 + -8) = param_2[6]" (pointer_expression "*(undefined4 *)(puVar22 + -8)" * (cast_expression "(undefined4 *)(puVar22 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (subscript_expression "param_2[6]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = param_2[2];" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = param_2[2]" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = param_6;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = param_6" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9dff8;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9dff8" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_c4 = FUN_002cda80();" (assignment_expression "local_c4 = FUN_002cda80()" identifier = (call_expression "FUN_002cda80()" identifier (argument_list "()" ( )))) ;) (if_statement "if (local_c4 != 0xffffffff) goto LAB_0009cc8a;" if (parenthesized_expression "(local_c4 != 0xffffffff)" ( (binary_expression "local_c4 != 0xffffffff" identifier != number_literal) )) (goto_statement "goto LAB_0009cc8a;" goto statement_identifier ;)) }))) (expression_statement "local_b4 = local_b4 + 1;" (assignment_expression "local_b4 = local_b4 + 1" identifier = (binary_expression "local_b4 + 1" identifier + number_literal)) ;) (expression_statement "param_4 = param_4 + 3;" (assignment_expression "param_4 = param_4 + 3" identifier = (binary_expression "param_4 + 3" identifier + number_literal)) ;) (expression_statement "puVar6 = puVar22;" (assignment_expression "puVar6 = puVar22" identifier = identifier) ;) }) while (parenthesized_expression "(param_5 != local_b4)" ( (binary_expression "param_5 != local_b4" identifier != identifier) )) ;) })) (if_statement "if (local_74 == '\0') {\n    return;\n  }" if (parenthesized_expression "(local_74 == '\0')" ( (binary_expression "local_74 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_94 + -0x671be" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f087;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f087" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f08f;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f08f" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b810();" (call_expression "FUN_0023b810()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Removing unreachable block (ram,0x0009dd10) */\n/* WARNING: Removing unreachable block (ram,0x0009dd19) */\n/* WARNING: Removing unreachable block (ram,0x0009dd60) */\n/* WARNING: Removing unreachable block (ram,0x0009f070) */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void relocate_section(Target_sparc<32,_true> * this,\n   Relocate_info<32,_true> * 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_484c35::Target_sparc<32,_true>::relocate_section\n          (Target_sparc<32,_true> *this,Relocate_info<32,_true> *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  _func_int_varargs **pp_Var1;\n  _func_int_varargs *p_Var2;\n  Symbol_table *pSVar3;\n  code *pcVar4;\n  Sized_relobj_file<32,_true> *pSVar5;\n  int iVar6;\n  pointer pSVar7;\n  pointer ppOVar8;\n  pointer ppSVar9;\n  pointer pcVar10;\n  size_type sVar11;\n  undefined1 *puVar12;\n  bool bVar13;\n  byte bVar14;\n  char cVar15;\n  uint uVar16;\n  Got_offset_list *pGVar17;\n  Output_data_plt_sparc<32,_true> *pOVar18;\n  undefined4 uVar19;\n  int iVar20;\n  Address AVar21;\n  Value VVar22;\n  int iVar23;\n  uint uVar24;\n  Relobj *pRVar25;\n  undefined4 uVar26;\n  char *pcVar27;\n  byte bVar28;\n  Symbol_table *pSVar29;\n  undefined4 extraout_ECX;\n  Symbol_table *extraout_ECX_00;\n  byte bVar30;\n  Got_offset_list *pGVar31;\n  Symbol_table *pSVar32;\n  undefined4 *puVar33;\n  undefined4 *puVar34;\n  byte *pbVar35;\n  byte *pbVar36;\n  byte *pbVar37;\n  undefined **ppuVar38;\n  bool bVar39;\n  bool bVar40;\n  byte bVar41;\n  size_t asStack_114 [5];\n  uint local_100;\n  undefined1 auStack_ec [12];\n  Symbol_table *local_e0;\n  Symbol_table *local_dc;\n  uint local_d8;\n  char local_d1;\n  Symbol_value<32> *local_d0;\n  Sized_relobj_file<32,_true> *local_cc;\n  int local_c8;\n  uint local_c4;\n  int local_c0;\n  Symbol_value<32> *local_bc;\n  uint local_b8;\n  size_t local_b4;\n  Symbol_value<32> *local_b0;\n  uint local_ac;\n  int local_a8;\n  Sized_relobj_file<32,_true> *local_a4;\n  uchar *local_a0;\n  Symbol_value<32> *local_9c;\n  int local_98;\n  undefined **local_94;\n  Symbol_table *local_90;\n  bool is_ordinary;\n  Elf_Addr value;\n  uint key_symndx;\n  Rela<32,_true> rela;\n  Relocate relocate;\n  Symbol_value<32> symval;\n  Symbol_value<32> symval2;\n  Symbol_value<32> symval_1;\n  bool found;\n  undefined1 local_2c [28];\n  \n  bVar41 = 0;\n  local_94 = &_GLOBAL_OFFSET_TABLE_;\n  local_d1 = needs_special_offset_handling;\n  if (sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/sparc.cc",0x10a1,"relocate_section");\n  }\n  local_cc = relinfo->object;\n  pp_Var1 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object;\n  p_Var2 = pp_Var1[0x23];\n  if (p_Var2 == gold::Relobj::local_symbol_count) {\n                    /* try { // try from 0009cc27 to 0009cc2c has its CatchHandler @ 0009f51d */\n    local_d8 = (*pp_Var1[0x2f])(local_cc);\n  }\n  else {\n                    /* try { // try from 0009f0c1 to 0009f0c2 has its CatchHandler @ 0009f51d */\n    local_d8 = (*p_Var2)(local_cc);\n  }\n  puVar34 = (undefined4 *)auStack_ec;\n  local_c0 = 0;\n  local_b4 = 0;\n  local_dc = (Symbol_table *)(local_94 + 0x1f2);\n  local_e0 = (Symbol_table *)(local_94 + 0x1f2);\n  if (reloc_count != 0) {\n    do {\n      uVar16 = *(uint *)prelocs;\n      local_c4 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18\n      ;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar16 = *(uint *)(prelocs + 4);\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18\n        ;\n        symval._8_4_ = 0x80000000;\n        local_a0 = (uchar *)(uVar16 >> 8);\n        symval.u_.value = 0;\n        if (local_a0 < local_d8) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) {\nLAB_0009ccec:\n            uVar24 = local_90->output_count_;\n            uVar16 = uVar24 - 1;\n            if (0xfffffffd < uVar16) goto LAB_0009cd01;\nLAB_0009e020:\n            if (uVar16 == 0xfffffffd) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70d;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f318;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            symval.output_symtab_index_ = uVar24;\n            goto LAB_0009cd08;\n          }\n          pSVar7 = (local_cc->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          local_90 = (Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_finish;\n          if ((uint)((int)local_90 - (int)pSVar7 >> 4) <= local_a0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8c1;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f282;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          local_9c = pSVar7 + (int)local_a0;\n          local_a4 = (Sized_relobj_file<32,_true> *)(*(uint *)&local_9c->field_0x8 & 0x7ffffff);\n          if (((local_9c->field_0xb & 8) != 0) && (local_a4 != (Sized_relobj_file<32,_true> *)0x0))\n          {\n            local_90 = (Symbol_table *)\n                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_finish;\n            ppOVar8 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((Sized_relobj_file<32,_true> *)((int)local_90 - (int)ppOVar8 >> 2) <= local_a4) {\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -4) = local_cc;\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x50b;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f42b;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            local_90 = (Symbol_table *)ppOVar8[(int)local_a4];\n            if (local_90 != (Symbol_table *)0x0) {\n              local_90 = (Symbol_table *)0x0;\n              local_bc = &symval;\n              goto LAB_0009cd80;\n            }\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -8) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n            *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9e2da;\n            bVar13 = gold::Symbol_table::is_section_folded\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8));\n            if (bVar13) {\n              local_bc = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (Symbol_table *)0x0;\n          local_bc = &symval;\nLAB_0009cd80:\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.value = 0;\n          local_d0 = &symval2;\n          puVar33 = puVar34;\n        }\n        else {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) goto LAB_0009ccec;\n          if (local_a0 < local_cc->local_symbol_count_) {\nLAB_0009f240:\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x17f;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f261;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          uVar16 = (int)local_a0 - local_cc->local_symbol_count_;\n          ppSVar9 = (local_cc->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n          local_90 = (Symbol_table *)\n                     (local_cc->symbols_).\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish;\n          if ((uint)((int)local_90 - (int)ppSVar9 >> 2) <= uVar16) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x65096;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8ad;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f2a3;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          local_90 = (Symbol_table *)ppSVar9[uVar16];\n          if (local_90 == (Symbol_table *)0x0) goto LAB_0009f240;\n          if (((local_90->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0009ccec;\n          *(Symbol_table **)((int)puVar34 + -0xc) = local_90;\n          *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)((int)puVar34 + -0x14) = 0x9e0cb;\n          local_90 = (Symbol_table *)\n                     gold::Symbol_table::resolve_forwards\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Symbol **)((int)puVar34 + -0xc));\n          uVar24 = local_90->output_count_;\n          uVar16 = uVar24 - 1;\n          if (uVar16 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70c;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f155;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            goto LAB_0009e020;\n          }\n          if (symval.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x716;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)puVar34 + -0x14) = &UNK_0009e10f;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\nLAB_0009cd01:\n          symval.output_symtab_index_ = 0xffffffff;\nLAB_0009cd08:\n          symval.u_ = (anon_union_4_2_6a937475_for_u_)(local_90->table_)._M_h._M_element_count;\n          bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar30 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar30 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n          if (-1 < (char)bVar30) {\nLAB_0009d9b8:\n            local_bc = &symval;\n            local_9c = &symval;\n            uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n            goto LAB_0009cd80;\n          }\n          uVar16 = (local_90->table_)._M_h._M_bucket_count;\n          if ((uVar16 & 0x70000) == 0) {\n            if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n               ((bVar30 & 0x20) == 0)) {\n              local_bc = &symval;\n              local_9c = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if ((uVar16 & 0x70000) != 0x40000) goto LAB_0009d9b8;\n          local_a4 = (Sized_relobj_file<32,_true> *)0x0;\n          local_9c = &symval;\nLAB_0009d9f1:\n          local_bc = &symval;\n          local_b0 = &symval_1;\n          symval2.output_symtab_index_ = 0;\n          pp_Var1 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object;\n          *(uint *)((int)puVar34 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n          local_d0 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.value = 0;\n          *(Symbol_value<32> **)((int)puVar34 + -0x10) = local_b0;\n          p_Var2 = pp_Var1[0x10];\n          *(undefined4 *)((int)puVar34 + -0x14) = 0x9da35;\n          (*p_Var2)();\n          bVar13 = false;\n          bVar40 = local_c0 == 0;\n          if (bVar40) {\n            iVar20 = 6;\n            pbVar36 = (byte *)symval_1.output_symtab_index_;\n            pbVar35 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar20 == 0) break;\n              iVar20 = iVar20 + -1;\n              bVar13 = *pbVar36 < *pbVar35;\n              bVar40 = *pbVar36 == *pbVar35;\n              pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n              pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar13 = (!bVar13 && !bVar40) == bVar13;\n            if (!bVar13) {\n              iVar20 = 7;\n              pbVar36 = (byte *)symval_1.output_symtab_index_;\n              ppuVar38 = local_94 + -0x672af;\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar36 < *(byte *)ppuVar38;\n                bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x11;\n                pbVar36 = (byte *)symval_1.output_symtab_index_;\n                ppuVar38 = local_94 + -0x672ad;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                  pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar39 = false;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if (!bVar13) {\n                  iVar20 = 5;\n                  pbVar36 = (byte *)symval_1.output_symtab_index_;\n                  pbVar35 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar39 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  bVar40 = false;\n                  bVar13 = (!bVar39 && !bVar13) == bVar39;\n                  if (!bVar13) {\n                    iVar20 = 5;\n                    pbVar36 = (byte *)symval_1.output_symtab_index_;\n                    ppuVar38 = local_94 + -0x672a7;\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);\n                    bVar39 = false;\n                    bVar13 = (!bVar40 && !bVar13) == bVar40;\n                    if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(bool **)((int)puVar34 + -8) = &found;\n            *(Symbol_value<32> **)((int)puVar34 + -0xc) = local_b0;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x10) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9da8d;\n            AVar21 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                *(uint *)((int)puVar34 + -0x10),*(string **)((int)puVar34 + -0xc),\n                                *(bool **)((int)puVar34 + -8));\n            symval2.u_ = (anon_union_4_2_6a937475_for_u_)0x0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   ((int)&((local_9c->u_).merged_symbol_value)->input_value_ + AVar21);\n            }\n            local_c0 = 1;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              pSVar5 = relinfo->object;\n              if (local_90 == (Symbol_table *)0x0) {\n                *(uchar **)((int)puVar34 + -0x10) = local_a0;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e225;\n                pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10));\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e23d;\n                uVar26 = gettext();\n                *(uchar **)((int)puVar34 + -0xc) = local_a0;\n                *(char **)((int)puVar34 + -0x10) = pcVar27;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9e265;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar34 + -0x10) = local_90;\n                *(bool **)((int)puVar34 + -0x14) = &found;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));\n                puVar12 = _found;\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d;\n                uVar26 = gettext();\n                *(undefined1 **)((int)puVar34 + -0x10) = puVar12;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar34 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;\n                  operator_delete(*(void **)((int)puVar34 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar34 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar34 + -0xc) = &value;\n              *(uchar **)((int)puVar34 + -0x10) = local_a0;\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc63;\n              uVar16 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)\n                                  ,*(bool **)((int)puVar34 + -8));\n              if (uVar16 != 0) {\n                *(uint **)((int)puVar34 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar34 + -0x10) = uVar16;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e18c;\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar34 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;\n                  pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10));\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;\n                  uVar26 = gettext();\n                  *(char **)((int)puVar34 + -0x10) = pcVar27;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;\n                  uVar26 = gettext();\n                  *(pointer *)((int)puVar34 + -0x10) = pcVar10;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            symval2.u_.value = 0;\n          }\n          puVar33 = (undefined4 *)((int)puVar34 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -0xc) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0x10) = 0x716;\n            *(int *)((int)puVar34 + -0x14) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined1 **)((int)puVar34 + -0x18) = &LAB_0009f212;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x14),*(int *)((int)puVar34 + -0x10),\n                       *(char **)((int)puVar34 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((undefined1 *)symval_1.output_symtab_index_ != &symval_1.field_0x8) {\n            *(uint *)((int)puVar34 + -0x14) = symval_1.output_symtab_index_;\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9dadb;\n            operator_delete(*(void **)((int)puVar34 + -0x14));\n          }\n          local_d0 = &symval2;\n          local_9c = &symval2;\n          uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n        }\n        local_b8 = uVar16 & 0xff;\n        bVar30 = (byte)local_9c->field_0xb >> 6 & 1;\n        if (((int)local_c4 < 0) || (view_size <= local_c4)) {\n          local_a0 = (uchar *)0x0;\n          rela.p_ = (Rela_data<32> *)prelocs;\nLAB_0009dcd4:\n          rela.p_ = (Rela_data<32> *)prelocs;\n          puVar33[-4] = (int)local_94 + -0x19ca7f;\n          puVar33[-5] = 0x9dceb;\n          uVar26 = gettext();\n          puVar33[-3] = local_c4;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = (int)local_c4 >> 0x1f;\n          puVar33[-6] = local_c4;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */\n          puVar33[-9] = 0x9dd08;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n        }\n        else {\n          local_a0 = view + local_c4;\n          rela.p_ = (Rela_data<32> *)prelocs;\n          if (local_a0 == (uchar *)0x0) goto LAB_0009dcd4;\n          if (local_a0 == (uchar *)0x0) {\n            local_a0 = (uchar *)0xfffffffc;\n          }\n          symval_1.output_symtab_index_ = 0;\n          symval_1.output_dynsym_index_ = 0xffffffff;\n          local_a4 = relinfo->object;\n          symval_1._8_4_ = 0x80000000;\n          symval_1.u_.value = 0;\n          if (local_90 == (Symbol_table *)0x0) {\n            if (bVar30 == 0) {\n              uVar16 = *(uint *)(prelocs + 8);\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009d56d;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009ddfa;\n                }\n                local_b0 = &symval_1;\n                goto LAB_0009d200;\n              }\nLAB_0009d1f2:\n              local_b0 = &symval_1;\n            }\n            else {\n              uVar16 = *(uint *)(prelocs + 4);\n              local_ac = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n              puVar33[-3] = local_ac;\n              puVar33[-4] = local_a4;\n              local_b0 = &symval_1;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n              puVar33[-5] = 0x9dda9;\n              bVar13 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset\n                                 ((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3]);\n              if (bVar13) {\n                iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                if (iVar20 == 0) {\n                  local_b0 = &symval_1;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                  puVar33[-1] = 0x9f3a6;\n                  plt_section((Target_sparc<32,_true> *)*puVar33);\n                  pSVar29 = extraout_ECX_00;\n                  goto LAB_0009f3a6;\n                }\n                if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                  puVar33[-1] = extraout_ECX;\n                  puVar33[-2] = local_94 + -0x64eef;\n                  puVar33[-3] = 0xc5;\n                  puVar33[-4] = (int)local_94 + -0x19cca3;\n                  local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f3ed;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                iVar6 = *(int *)(iVar20 + 0x34);\n                local_b0 = &symval_1;\n                iVar20 = *(int *)(iVar20 + 4);\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-3] = local_ac;\n                puVar33[-4] = local_a4;\n                p_Var2 = pp_Var1[0x2a];\n                puVar33[-5] = 0x9de86;\n                iVar23 = (*p_Var2)();\n                symval_1.u_.merged_symbol_value =\n                     (Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23);\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n              }\n              else {\n                local_b0 = &symval_1;\n              }\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) goto LAB_0009d200;\n              if (local_b8 < 0x10) {\nLAB_0009d56d:\n                uVar16 = (rela.p_)->r_info;\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                uVar16 = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2b];\n                puVar33[-9] = 0x9d58e;\n                iVar20 = (*p_Var2)();\n                if ((char)iVar20 == '\0') {\n                  puVar33[-2] = local_94 + -0x650e7;\n                  puVar33[-3] = 0xd2c;\n                  puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f357;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2c];\n                puVar33[-9] = 0x9d5b2;\n                (*p_Var2)();\n                goto LAB_0009d200;\n              }\n              if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009ddfa:\n              puVar33[-2] = local_ac;\n              puVar33[-3] = local_a4;\n              puVar33[-4] = local_9c;\n              puVar33[-5] = 0x9de14;\n              VVar22 = gold::Symbol_value<32>::value<true>\n                                 ((Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n            return;\n          }\n          puVar33[-4] = local_94 + -0x672b6;\n          puVar33[-5] = 0x9e3bf;\n          uVar26 = gettext();\n          uVar16 = (rela.p_)->r_offset;\n          puVar33[-3] = local_b8;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = 0;\n          puVar33[-6] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                        uVar16 << 0x18;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n          puVar33[-9] = 0x9e3e3;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n          puVar33[-4] = local_b0;\n          puVar33[-5] = 0x9d286;\n          gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n          if (local_90 != (Symbol_table *)0x0) {\n            bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n            bVar14 = bVar30 & 7;\n            pSVar32 = local_90;\n            if ((bVar30 & 7) == 0) {\n              if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n                 (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n                pSVar29 = *(Symbol_table **)&local_90->offset_;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 != pSVar32) {\n                  puVar33[-4] = pSVar29;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d736;\n                  iVar20 = (*(code *)pSVar3)();\n                  if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }\n                  goto LAB_0009d970;\n                }\nLAB_0009d2df:\n                bVar30 = bVar30 & 7;\n                bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                bVar14 = bVar28 & 3;\n                if ((bVar28 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }\nLAB_0009d312:\n                if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }\n                goto LAB_0009d380;\n              }\nLAB_0009d63d:\n              bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              if ((bVar28 >> 4 == 2) ||\n                 (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)) {\nLAB_0009d970:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d943:\n                if (bVar14 == 0) goto LAB_0009d380;\n                bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                pSVar29 = (Symbol_table *)(uint)bVar30;\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                bVar30 = bVar30 & 7;\n                if (bVar30 != 0) goto LAB_0009d6cc;\n                goto LAB_0009d2fb;\n              }\n              pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-1] = 0;\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f447;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (p_Var2[0x49b1] != (_func_int_varargs)0x0) goto LAB_0009d970;\n              if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) < '\0') {\n                if (bVar14 != 0) goto LAB_0009d6b0;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\nLAB_0009d900:\n                pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 == pSVar32) goto LAB_0009d2df;\n                puVar33[-4] = pSVar29;\n                puVar33[-5] = 0x9d91c;\n                iVar20 = (*(code *)pSVar3)();\n                pSVar32 = local_e0;\n                if (iVar20 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                goto LAB_0009d943;\n              }\nLAB_0009d779:\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-2] = local_94 + -0x64fb7;\n                puVar33[-3] = 0x69;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f336;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              iVar20 = *(int *)p_Var2;\n              puVar33[-3] = local_90;\n              puVar33[-4] = p_Var2;\n              pcVar4 = *(code **)(iVar20 + 0x1c);\n              puVar33[-5] = 0x9d795;\n              cVar15 = (*pcVar4)();\n              if (cVar15 != '\0') goto LAB_0009d930;\n              pSVar32 = (Symbol_table *)\n                        ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (pSVar32 == (Symbol_table *)0x0) {\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f398;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              pbVar36 = (byte *)(pSVar32 + 0x2e)[1].output_count_;\n              bVar13 = false;\n              bVar40 = pbVar36 == (byte *)0x0;\n              if (bVar40) {\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d85a:\n                if ((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))\n                goto LAB_0009d874;\n                goto LAB_0009d943;\n              }\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1fa6);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar13 = *pbVar35 < *pbVar37;\n                bVar40 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar13 = (!bVar13 && !bVar40) == bVar13;\n              if (bVar13) goto LAB_0009d930;\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1f9b);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar35 < *pbVar37;\n                bVar13 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x17;\n                pbVar35 = pbVar36;\n                ppuVar38 = local_94 + -0x687e4;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar35 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar35 == *(byte *)ppuVar38;\n                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if ((!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)) {\n                  bVar40 = false;\n                  iVar20 = 0x16;\n                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;\n                }\n                goto LAB_0009d943;\n              }\nLAB_0009d874:\n              puVar33[-4] = (int)local_c4 >> 0x1f;\n              puVar33[-5] = local_c4;\n              puVar33[-6] = local_b4;\n              puVar33[-7] = relinfo;\n              puVar33[-8] = local_90;\n              puVar33[-9] = 0x9d89a;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            else {\n              if (bVar14 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n              bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              bVar14 = bVar28 & 3;\n              if ((bVar28 & 3) != 0) {\n                bVar30 = bVar30 & 7;\nLAB_0009d6cc:\n                if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }\n              }\nLAB_0009d380:\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            if ((bVar30 & 4) != 0) {\n              puVar33[-3] = (int)local_c4 >> 0x1f;\n              puVar33[-4] = local_c4;\n              puVar33[-5] = local_b4;\n              pSVar29 = relinfo->symtab;\n              puVar33[-6] = relinfo;\n              puVar33[-7] = local_90;\n              local_90 = pSVar29;\n              puVar33[-8] = &pSVar29->warnings_;\n              puVar33[-9] = 0x9d8e4;\n              gold::Warnings::issue_warning<32,_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n            }\n          }\n        }\n        puVar33[-4] = local_d0;\n        puVar33[-5] = 0x9d39e;\n        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n        puVar33[-4] = local_bc;\n        puVar33[-5] = 0x9d3aa;\n        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n        puVar34 = puVar33;\n      }\n      else {\n        *(uint *)((int)puVar34 + -4) = local_c4;\n        *(uint *)((int)puVar34 + -8) = relinfo->data_shndx;\n        *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = relinfo->object;\n        *(Output_section **)((int)puVar34 + -0x10) = output_section;\n                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */\n        *(undefined4 *)((int)puVar34 + -0x14) = 0x9dff8;\n        local_c4 = gold::Output_section::output_offset\n                             (*(Output_section **)((int)puVar34 + -0x10),\n                              *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8),\n                              *(section_offset_type *)((int)puVar34 + -4));\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      prelocs = prelocs + 0xc;\n    } while (reloc_count != local_b4);\n  }\n  return;\n}\n\n" comment comment comment comment comment comment comment (declaration "void __thiscall\nanon_unknown.dwarf_484c35::Target_sparc<32,_true>::relocate_section\n          (Target_sparc<32,_true> *this,Relocate_info<32,_true> *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  _func_int_varargs **pp_Var1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) identifier (ERROR ".dwarf_484c35::Target_sparc<32" . identifier : : identifier < number_literal) , (ERROR "_true>::relocate_section\n          (Target_sparc<32,_true> *this,Relocate_info<32,_true> *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  _func_int_varargs" identifier > : : (function_declarator "relocate_section\n          (Target_sparc<32,_true> *this,Relocate_info<32,_true> *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_sparc<32,_true> *this,Relocate_info<32,_true> *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_sparc" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_true> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Relocate_info" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_true> *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)) ))) { identifier) (pointer_declarator "**pp_Var1" * (pointer_declarator "*pp_Var1" * identifier)) ;) (declaration "_func_int_varargs *p_Var2;" type_identifier (pointer_declarator "*p_Var2" * identifier) ;) (declaration "Symbol_table *pSVar3;" type_identifier (pointer_declarator "*pSVar3" * identifier) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (expression_statement "Sized_relobj_file<32,_true> *pSVar5;" (update_expression "Sized_relobj_file<32,_true> *pSVar5" (binary_expression "Sized_relobj_file<32,_true> *pSVar5" (binary_expression "Sized_relobj_file<32" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*pSVar5" * identifier)) --) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "pointer pSVar7;" type_identifier identifier ;) (declaration "pointer ppOVar8;" type_identifier identifier ;) (declaration "pointer ppSVar9;" type_identifier identifier ;) (declaration "pointer pcVar10;" type_identifier identifier ;) (declaration "size_type sVar11;" type_identifier identifier ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "byte bVar14;" type_identifier identifier ;) (declaration "char cVar15;" primitive_type identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "Got_offset_list *pGVar17;" type_identifier (pointer_declarator "*pGVar17" * identifier) ;) (expression_statement "Output_data_plt_sparc<32,_true> *pOVar18;" (update_expression "Output_data_plt_sparc<32,_true> *pOVar18" (binary_expression "Output_data_plt_sparc<32,_true> *pOVar18" (binary_expression "Output_data_plt_sparc<32" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*pOVar18" * identifier)) --) ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "Address AVar21;" type_identifier identifier ;) (declaration "Value VVar22;" type_identifier identifier ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "Relobj *pRVar25;" type_identifier (pointer_declarator "*pRVar25" * identifier) ;) (declaration "undefined4 uVar26;" type_identifier identifier ;) (declaration "char *pcVar27;" primitive_type (pointer_declarator "*pcVar27" * identifier) ;) (declaration "byte bVar28;" type_identifier identifier ;) (declaration "Symbol_table *pSVar29;" type_identifier (pointer_declarator "*pSVar29" * identifier) ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "Symbol_table *extraout_ECX_00;" type_identifier (pointer_declarator "*extraout_ECX_00" * identifier) ;) (declaration "byte bVar30;" type_identifier identifier ;) (declaration "Got_offset_list *pGVar31;" type_identifier (pointer_declarator "*pGVar31" * identifier) ;) (declaration "Symbol_table *pSVar32;" type_identifier (pointer_declarator "*pSVar32" * identifier) ;) (declaration "undefined4 *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "undefined4 *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "byte *pbVar35;" type_identifier (pointer_declarator "*pbVar35" * identifier) ;) (declaration "byte *pbVar36;" type_identifier (pointer_declarator "*pbVar36" * identifier) ;) (declaration "byte *pbVar37;" type_identifier (pointer_declarator "*pbVar37" * identifier) ;) (declaration "undefined **ppuVar38;" type_identifier (pointer_declarator "**ppuVar38" * (pointer_declarator "*ppuVar38" * identifier)) ;) (declaration "bool bVar39;" primitive_type identifier ;) (declaration "bool bVar40;" primitive_type identifier ;) (declaration "byte bVar41;" type_identifier identifier ;) (declaration "size_t asStack_114 [5];" primitive_type (array_declarator "asStack_114 [5]" identifier [ number_literal ]) ;) (declaration "uint local_100;" type_identifier identifier ;) (declaration "undefined1 auStack_ec [12];" type_identifier (array_declarator "auStack_ec [12]" identifier [ number_literal ]) ;) (declaration "Symbol_table *local_e0;" type_identifier (pointer_declarator "*local_e0" * identifier) ;) (declaration "Symbol_table *local_dc;" type_identifier (pointer_declarator "*local_dc" * identifier) ;) (declaration "uint local_d8;" type_identifier identifier ;) (declaration "char local_d1;" primitive_type identifier ;) (expression_statement "Symbol_value<32> *local_d0;" (update_expression "Symbol_value<32> *local_d0" (binary_expression "Symbol_value<32> *local_d0" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*local_d0" * identifier)) --) ;) (expression_statement "Sized_relobj_file<32,_true> *local_cc;" (update_expression "Sized_relobj_file<32,_true> *local_cc" (binary_expression "Sized_relobj_file<32,_true> *local_cc" (binary_expression "Sized_relobj_file<32" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*local_cc" * identifier)) --) ;) (declaration "int local_c8;" primitive_type identifier ;) (declaration "uint local_c4;" type_identifier identifier ;) (declaration "int local_c0;" primitive_type identifier ;) (expression_statement "Symbol_value<32> *local_bc;" (update_expression "Symbol_value<32> *local_bc" (binary_expression "Symbol_value<32> *local_bc" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*local_bc" * identifier)) --) ;) (declaration "uint local_b8;" type_identifier identifier ;) (declaration "size_t local_b4;" primitive_type identifier ;) (expression_statement "Symbol_value<32> *local_b0;" (update_expression "Symbol_value<32> *local_b0" (binary_expression "Symbol_value<32> *local_b0" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*local_b0" * identifier)) --) ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "int local_a8;" primitive_type identifier ;) (expression_statement "Sized_relobj_file<32,_true> *local_a4;" (update_expression "Sized_relobj_file<32,_true> *local_a4" (binary_expression "Sized_relobj_file<32,_true> *local_a4" (binary_expression "Sized_relobj_file<32" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*local_a4" * identifier)) --) ;) (declaration "uchar *local_a0;" type_identifier (pointer_declarator "*local_a0" * identifier) ;) (expression_statement "Symbol_value<32> *local_9c;" (update_expression "Symbol_value<32> *local_9c" (binary_expression "Symbol_value<32> *local_9c" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*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 "Symbol_table *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "bool is_ordinary;" primitive_type identifier ;) (declaration "Elf_Addr value;" type_identifier identifier ;) (declaration "uint key_symndx;" type_identifier identifier ;) (expression_statement "Rela<32,_true> rela;" (update_expression "Rela<32,_true> rela" (binary_expression "Rela<32,_true> rela" (binary_expression "Rela<32" identifier < number_literal) (ERROR ",_true" , identifier) > identifier) --) ;) (declaration "Relocate relocate;" type_identifier identifier ;) (expression_statement "Symbol_value<32> symval;" (update_expression "Symbol_value<32> symval" (binary_expression "Symbol_value<32> symval" (binary_expression "Symbol_value<32" identifier < number_literal) > identifier) --) ;) (expression_statement "Symbol_value<32> symval2;" (update_expression "Symbol_value<32> symval2" (binary_expression "Symbol_value<32> symval2" (binary_expression "Symbol_value<32" identifier < number_literal) > identifier) --) ;) (expression_statement "Symbol_value<32> symval_1;" (update_expression "Symbol_value<32> symval_1" (binary_expression "Symbol_value<32> symval_1" (binary_expression "Symbol_value<32" identifier < number_literal) > identifier) --) ;) (declaration "bool found;" primitive_type identifier ;) (declaration "undefined1 local_2c [28];" type_identifier (array_declarator "local_2c [28]" identifier [ number_literal ]) ;) (expression_statement "bVar41 = 0;" (assignment_expression "bVar41 = 0" identifier = number_literal) ;) (expression_statement "local_94 = &_GLOBAL_OFFSET_TABLE_;" (assignment_expression "local_94 = &_GLOBAL_OFFSET_TABLE_" identifier = (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) ;) (expression_statement "local_d1 = needs_special_offset_handling;" (assignment_expression "local_d1 = needs_special_offset_handling" identifier = identifier) ;) (if_statement "if (sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/sparc.cc",0x10a1,"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/sparc.cc",0x10a1,"relocate_section");\n  }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/sparc.cc",0x10a1,"relocate_section");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/sparc.cc",0x10a1,"relocate_section");" (call_expression "do_gold_unreachable("../../gold/sparc.cc",0x10a1,"relocate_section")" identifier (argument_list "("../../gold/sparc.cc",0x10a1,"relocate_section")" ( (string_literal ""../../gold/sparc.cc"" " string_content ") , number_literal , (string_literal ""relocate_section"" " string_content ") ))) ;)) })) (expression_statement "local_cc = relinfo->object;" (assignment_expression "local_cc = relinfo->object" identifier = (field_expression "relinfo->object" identifier -> field_identifier)) ;) (expression_statement "pp_Var1 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object;" (assignment_expression "pp_Var1 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object" identifier = (field_expression "(local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object" (field_expression "(local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object" (field_expression "(local_cc->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(local_cc->super_Sized_relobj<32,_true>)" ( (comma_expression "local_cc->super_Sized_relobj<32,_true" (binary_expression "local_cc->super_Sized_relobj<32" (field_expression "local_cc->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var2 = pp_Var1[0x23];" (assignment_expression "p_Var2 = pp_Var1[0x23]" identifier = (subscript_expression "pp_Var1[0x23]" identifier [ number_literal ])) ;) (if_statement "if (p_Var2 == gold::Relobj::local_symbol_count) {\n                    /* try { // try from 0009cc27 to 0009cc2c has its CatchHandler @ 0009f51d */\n    local_d8 = (*pp_Var1[0x2f])(local_cc);\n  }\n  else {\n                    /* try { // try from 0009f0c1 to 0009f0c2 has its CatchHandler @ 0009f51d */\n    local_d8 = (*p_Var2)(local_cc);\n  }" if (parenthesized_expression "(p_Var2 == gold::Relobj::local_symbol_count)" ( (ERROR "p_Var2 == gold::Relobj::" (binary_expression "p_Var2 == gold" identifier == identifier) : : identifier : :) identifier )) (compound_statement "{\n                    /* try { // try from 0009cc27 to 0009cc2c has its CatchHandler @ 0009f51d */\n    local_d8 = (*pp_Var1[0x2f])(local_cc);\n  }" { comment (expression_statement "local_d8 = (*pp_Var1[0x2f])(local_cc);" (assignment_expression "local_d8 = (*pp_Var1[0x2f])(local_cc)" identifier = (call_expression "(*pp_Var1[0x2f])(local_cc)" (parenthesized_expression "(*pp_Var1[0x2f])" ( (pointer_expression "*pp_Var1[0x2f]" * (subscript_expression "pp_Var1[0x2f]" identifier [ number_literal ])) )) (argument_list "(local_cc)" ( identifier )))) ;) }) (else_clause "else {\n                    /* try { // try from 0009f0c1 to 0009f0c2 has its CatchHandler @ 0009f51d */\n    local_d8 = (*p_Var2)(local_cc);\n  }" else (compound_statement "{\n                    /* try { // try from 0009f0c1 to 0009f0c2 has its CatchHandler @ 0009f51d */\n    local_d8 = (*p_Var2)(local_cc);\n  }" { comment (expression_statement "local_d8 = (*p_Var2)(local_cc);" (assignment_expression "local_d8 = (*p_Var2)(local_cc)" identifier = (call_expression "(*p_Var2)(local_cc)" (parenthesized_expression "(*p_Var2)" ( (pointer_expression "*p_Var2" * identifier) )) (argument_list "(local_cc)" ( identifier )))) ;) }))) (expression_statement "puVar34 = (undefined4 *)auStack_ec;" (assignment_expression "puVar34 = (undefined4 *)auStack_ec" identifier = (cast_expression "(undefined4 *)auStack_ec" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" identifier = number_literal) ;) (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" identifier = number_literal) ;) (expression_statement "local_dc = (Symbol_table *)(local_94 + 0x1f2);" (assignment_expression "local_dc = (Symbol_table *)(local_94 + 0x1f2)" identifier = (cast_expression "(Symbol_table *)(local_94 + 0x1f2)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + 0x1f2)" ( (binary_expression "local_94 + 0x1f2" identifier + number_literal) )))) ;) (expression_statement "local_e0 = (Symbol_table *)(local_94 + 0x1f2);" (assignment_expression "local_e0 = (Symbol_table *)(local_94 + 0x1f2)" identifier = (cast_expression "(Symbol_table *)(local_94 + 0x1f2)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + 0x1f2)" ( (binary_expression "local_94 + 0x1f2" identifier + number_literal) )))) ;) (if_statement "if (reloc_count != 0) {\n    do {\n      uVar16 = *(uint *)prelocs;\n      local_c4 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18\n      ;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar16 = *(uint *)(prelocs + 4);\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18\n        ;\n        symval._8_4_ = 0x80000000;\n        local_a0 = (uchar *)(uVar16 >> 8);\n        symval.u_.value = 0;\n        if (local_a0 < local_d8) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) {\nLAB_0009ccec:\n            uVar24 = local_90->output_count_;\n            uVar16 = uVar24 - 1;\n            if (0xfffffffd < uVar16) goto LAB_0009cd01;\nLAB_0009e020:\n            if (uVar16 == 0xfffffffd) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70d;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f318;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            symval.output_symtab_index_ = uVar24;\n            goto LAB_0009cd08;\n          }\n          pSVar7 = (local_cc->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          local_90 = (Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_finish;\n          if ((uint)((int)local_90 - (int)pSVar7 >> 4) <= local_a0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8c1;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f282;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          local_9c = pSVar7 + (int)local_a0;\n          local_a4 = (Sized_relobj_file<32,_true> *)(*(uint *)&local_9c->field_0x8 & 0x7ffffff);\n          if (((local_9c->field_0xb & 8) != 0) && (local_a4 != (Sized_relobj_file<32,_true> *)0x0))\n          {\n            local_90 = (Symbol_table *)\n                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_finish;\n            ppOVar8 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((Sized_relobj_file<32,_true> *)((int)local_90 - (int)ppOVar8 >> 2) <= local_a4) {\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -4) = local_cc;\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x50b;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f42b;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            local_90 = (Symbol_table *)ppOVar8[(int)local_a4];\n            if (local_90 != (Symbol_table *)0x0) {\n              local_90 = (Symbol_table *)0x0;\n              local_bc = &symval;\n              goto LAB_0009cd80;\n            }\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -8) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n            *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9e2da;\n            bVar13 = gold::Symbol_table::is_section_folded\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8));\n            if (bVar13) {\n              local_bc = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (Symbol_table *)0x0;\n          local_bc = &symval;\nLAB_0009cd80:\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.value = 0;\n          local_d0 = &symval2;\n          puVar33 = puVar34;\n        }\n        else {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) goto LAB_0009ccec;\n          if (local_a0 < local_cc->local_symbol_count_) {\nLAB_0009f240:\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x17f;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f261;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          uVar16 = (int)local_a0 - local_cc->local_symbol_count_;\n          ppSVar9 = (local_cc->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n          local_90 = (Symbol_table *)\n                     (local_cc->symbols_).\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish;\n          if ((uint)((int)local_90 - (int)ppSVar9 >> 2) <= uVar16) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x65096;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8ad;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f2a3;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          local_90 = (Symbol_table *)ppSVar9[uVar16];\n          if (local_90 == (Symbol_table *)0x0) goto LAB_0009f240;\n          if (((local_90->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0009ccec;\n          *(Symbol_table **)((int)puVar34 + -0xc) = local_90;\n          *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)((int)puVar34 + -0x14) = 0x9e0cb;\n          local_90 = (Symbol_table *)\n                     gold::Symbol_table::resolve_forwards\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Symbol **)((int)puVar34 + -0xc));\n          uVar24 = local_90->output_count_;\n          uVar16 = uVar24 - 1;\n          if (uVar16 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70c;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f155;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            goto LAB_0009e020;\n          }\n          if (symval.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x716;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)puVar34 + -0x14) = &UNK_0009e10f;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\nLAB_0009cd01:\n          symval.output_symtab_index_ = 0xffffffff;\nLAB_0009cd08:\n          symval.u_ = (anon_union_4_2_6a937475_for_u_)(local_90->table_)._M_h._M_element_count;\n          bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar30 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar30 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n          if (-1 < (char)bVar30) {\nLAB_0009d9b8:\n            local_bc = &symval;\n            local_9c = &symval;\n            uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n            goto LAB_0009cd80;\n          }\n          uVar16 = (local_90->table_)._M_h._M_bucket_count;\n          if ((uVar16 & 0x70000) == 0) {\n            if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n               ((bVar30 & 0x20) == 0)) {\n              local_bc = &symval;\n              local_9c = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if ((uVar16 & 0x70000) != 0x40000) goto LAB_0009d9b8;\n          local_a4 = (Sized_relobj_file<32,_true> *)0x0;\n          local_9c = &symval;\nLAB_0009d9f1:\n          local_bc = &symval;\n          local_b0 = &symval_1;\n          symval2.output_symtab_index_ = 0;\n          pp_Var1 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object;\n          *(uint *)((int)puVar34 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n          local_d0 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.value = 0;\n          *(Symbol_value<32> **)((int)puVar34 + -0x10) = local_b0;\n          p_Var2 = pp_Var1[0x10];\n          *(undefined4 *)((int)puVar34 + -0x14) = 0x9da35;\n          (*p_Var2)();\n          bVar13 = false;\n          bVar40 = local_c0 == 0;\n          if (bVar40) {\n            iVar20 = 6;\n            pbVar36 = (byte *)symval_1.output_symtab_index_;\n            pbVar35 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar20 == 0) break;\n              iVar20 = iVar20 + -1;\n              bVar13 = *pbVar36 < *pbVar35;\n              bVar40 = *pbVar36 == *pbVar35;\n              pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n              pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar13 = (!bVar13 && !bVar40) == bVar13;\n            if (!bVar13) {\n              iVar20 = 7;\n              pbVar36 = (byte *)symval_1.output_symtab_index_;\n              ppuVar38 = local_94 + -0x672af;\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar36 < *(byte *)ppuVar38;\n                bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x11;\n                pbVar36 = (byte *)symval_1.output_symtab_index_;\n                ppuVar38 = local_94 + -0x672ad;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                  pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar39 = false;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if (!bVar13) {\n                  iVar20 = 5;\n                  pbVar36 = (byte *)symval_1.output_symtab_index_;\n                  pbVar35 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar39 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  bVar40 = false;\n                  bVar13 = (!bVar39 && !bVar13) == bVar39;\n                  if (!bVar13) {\n                    iVar20 = 5;\n                    pbVar36 = (byte *)symval_1.output_symtab_index_;\n                    ppuVar38 = local_94 + -0x672a7;\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);\n                    bVar39 = false;\n                    bVar13 = (!bVar40 && !bVar13) == bVar40;\n                    if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(bool **)((int)puVar34 + -8) = &found;\n            *(Symbol_value<32> **)((int)puVar34 + -0xc) = local_b0;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x10) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9da8d;\n            AVar21 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                *(uint *)((int)puVar34 + -0x10),*(string **)((int)puVar34 + -0xc),\n                                *(bool **)((int)puVar34 + -8));\n            symval2.u_ = (anon_union_4_2_6a937475_for_u_)0x0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   ((int)&((local_9c->u_).merged_symbol_value)->input_value_ + AVar21);\n            }\n            local_c0 = 1;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              pSVar5 = relinfo->object;\n              if (local_90 == (Symbol_table *)0x0) {\n                *(uchar **)((int)puVar34 + -0x10) = local_a0;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e225;\n                pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10));\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e23d;\n                uVar26 = gettext();\n                *(uchar **)((int)puVar34 + -0xc) = local_a0;\n                *(char **)((int)puVar34 + -0x10) = pcVar27;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9e265;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar34 + -0x10) = local_90;\n                *(bool **)((int)puVar34 + -0x14) = &found;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));\n                puVar12 = _found;\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d;\n                uVar26 = gettext();\n                *(undefined1 **)((int)puVar34 + -0x10) = puVar12;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar34 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;\n                  operator_delete(*(void **)((int)puVar34 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar34 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar34 + -0xc) = &value;\n              *(uchar **)((int)puVar34 + -0x10) = local_a0;\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc63;\n              uVar16 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)\n                                  ,*(bool **)((int)puVar34 + -8));\n              if (uVar16 != 0) {\n                *(uint **)((int)puVar34 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar34 + -0x10) = uVar16;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e18c;\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar34 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;\n                  pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10));\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;\n                  uVar26 = gettext();\n                  *(char **)((int)puVar34 + -0x10) = pcVar27;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;\n                  uVar26 = gettext();\n                  *(pointer *)((int)puVar34 + -0x10) = pcVar10;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            symval2.u_.value = 0;\n          }\n          puVar33 = (undefined4 *)((int)puVar34 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -0xc) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0x10) = 0x716;\n            *(int *)((int)puVar34 + -0x14) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined1 **)((int)puVar34 + -0x18) = &LAB_0009f212;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x14),*(int *)((int)puVar34 + -0x10),\n                       *(char **)((int)puVar34 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((undefined1 *)symval_1.output_symtab_index_ != &symval_1.field_0x8) {\n            *(uint *)((int)puVar34 + -0x14) = symval_1.output_symtab_index_;\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9dadb;\n            operator_delete(*(void **)((int)puVar34 + -0x14));\n          }\n          local_d0 = &symval2;\n          local_9c = &symval2;\n          uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n        }\n        local_b8 = uVar16 & 0xff;\n        bVar30 = (byte)local_9c->field_0xb >> 6 & 1;\n        if (((int)local_c4 < 0) || (view_size <= local_c4)) {\n          local_a0 = (uchar *)0x0;\n          rela.p_ = (Rela_data<32> *)prelocs;\nLAB_0009dcd4:\n          rela.p_ = (Rela_data<32> *)prelocs;\n          puVar33[-4] = (int)local_94 + -0x19ca7f;\n          puVar33[-5] = 0x9dceb;\n          uVar26 = gettext();\n          puVar33[-3] = local_c4;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = (int)local_c4 >> 0x1f;\n          puVar33[-6] = local_c4;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */\n          puVar33[-9] = 0x9dd08;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n        }\n        else {\n          local_a0 = view + local_c4;\n          rela.p_ = (Rela_data<32> *)prelocs;\n          if (local_a0 == (uchar *)0x0) goto LAB_0009dcd4;\n          if (local_a0 == (uchar *)0x0) {\n            local_a0 = (uchar *)0xfffffffc;\n          }\n          symval_1.output_symtab_index_ = 0;\n          symval_1.output_dynsym_index_ = 0xffffffff;\n          local_a4 = relinfo->object;\n          symval_1._8_4_ = 0x80000000;\n          symval_1.u_.value = 0;\n          if (local_90 == (Symbol_table *)0x0) {\n            if (bVar30 == 0) {\n              uVar16 = *(uint *)(prelocs + 8);\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009d56d;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009ddfa;\n                }\n                local_b0 = &symval_1;\n                goto LAB_0009d200;\n              }\nLAB_0009d1f2:\n              local_b0 = &symval_1;\n            }\n            else {\n              uVar16 = *(uint *)(prelocs + 4);\n              local_ac = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n              puVar33[-3] = local_ac;\n              puVar33[-4] = local_a4;\n              local_b0 = &symval_1;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n              puVar33[-5] = 0x9dda9;\n              bVar13 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset\n                                 ((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3]);\n              if (bVar13) {\n                iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                if (iVar20 == 0) {\n                  local_b0 = &symval_1;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                  puVar33[-1] = 0x9f3a6;\n                  plt_section((Target_sparc<32,_true> *)*puVar33);\n                  pSVar29 = extraout_ECX_00;\n                  goto LAB_0009f3a6;\n                }\n                if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                  puVar33[-1] = extraout_ECX;\n                  puVar33[-2] = local_94 + -0x64eef;\n                  puVar33[-3] = 0xc5;\n                  puVar33[-4] = (int)local_94 + -0x19cca3;\n                  local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f3ed;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                iVar6 = *(int *)(iVar20 + 0x34);\n                local_b0 = &symval_1;\n                iVar20 = *(int *)(iVar20 + 4);\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-3] = local_ac;\n                puVar33[-4] = local_a4;\n                p_Var2 = pp_Var1[0x2a];\n                puVar33[-5] = 0x9de86;\n                iVar23 = (*p_Var2)();\n                symval_1.u_.merged_symbol_value =\n                     (Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23);\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n              }\n              else {\n                local_b0 = &symval_1;\n              }\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) goto LAB_0009d200;\n              if (local_b8 < 0x10) {\nLAB_0009d56d:\n                uVar16 = (rela.p_)->r_info;\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                uVar16 = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2b];\n                puVar33[-9] = 0x9d58e;\n                iVar20 = (*p_Var2)();\n                if ((char)iVar20 == '\0') {\n                  puVar33[-2] = local_94 + -0x650e7;\n                  puVar33[-3] = 0xd2c;\n                  puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f357;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2c];\n                puVar33[-9] = 0x9d5b2;\n                (*p_Var2)();\n                goto LAB_0009d200;\n              }\n              if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009ddfa:\n              puVar33[-2] = local_ac;\n              puVar33[-3] = local_a4;\n              puVar33[-4] = local_9c;\n              puVar33[-5] = 0x9de14;\n              VVar22 = gold::Symbol_value<32>::value<true>\n                                 ((Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n            return;\n          }\n          puVar33[-4] = local_94 + -0x672b6;\n          puVar33[-5] = 0x9e3bf;\n          uVar26 = gettext();\n          uVar16 = (rela.p_)->r_offset;\n          puVar33[-3] = local_b8;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = 0;\n          puVar33[-6] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                        uVar16 << 0x18;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n          puVar33[-9] = 0x9e3e3;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n          puVar33[-4] = local_b0;\n          puVar33[-5] = 0x9d286;\n          gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n          if (local_90 != (Symbol_table *)0x0) {\n            bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n            bVar14 = bVar30 & 7;\n            pSVar32 = local_90;\n            if ((bVar30 & 7) == 0) {\n              if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n                 (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n                pSVar29 = *(Symbol_table **)&local_90->offset_;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 != pSVar32) {\n                  puVar33[-4] = pSVar29;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d736;\n                  iVar20 = (*(code *)pSVar3)();\n                  if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }\n                  goto LAB_0009d970;\n                }\nLAB_0009d2df:\n                bVar30 = bVar30 & 7;\n                bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                bVar14 = bVar28 & 3;\n                if ((bVar28 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }\nLAB_0009d312:\n                if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }\n                goto LAB_0009d380;\n              }\nLAB_0009d63d:\n              bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              if ((bVar28 >> 4 == 2) ||\n                 (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)) {\nLAB_0009d970:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d943:\n                if (bVar14 == 0) goto LAB_0009d380;\n                bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                pSVar29 = (Symbol_table *)(uint)bVar30;\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                bVar30 = bVar30 & 7;\n                if (bVar30 != 0) goto LAB_0009d6cc;\n                goto LAB_0009d2fb;\n              }\n              pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-1] = 0;\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f447;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (p_Var2[0x49b1] != (_func_int_varargs)0x0) goto LAB_0009d970;\n              if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) < '\0') {\n                if (bVar14 != 0) goto LAB_0009d6b0;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\nLAB_0009d900:\n                pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 == pSVar32) goto LAB_0009d2df;\n                puVar33[-4] = pSVar29;\n                puVar33[-5] = 0x9d91c;\n                iVar20 = (*(code *)pSVar3)();\n                pSVar32 = local_e0;\n                if (iVar20 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                goto LAB_0009d943;\n              }\nLAB_0009d779:\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-2] = local_94 + -0x64fb7;\n                puVar33[-3] = 0x69;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f336;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              iVar20 = *(int *)p_Var2;\n              puVar33[-3] = local_90;\n              puVar33[-4] = p_Var2;\n              pcVar4 = *(code **)(iVar20 + 0x1c);\n              puVar33[-5] = 0x9d795;\n              cVar15 = (*pcVar4)();\n              if (cVar15 != '\0') goto LAB_0009d930;\n              pSVar32 = (Symbol_table *)\n                        ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (pSVar32 == (Symbol_table *)0x0) {\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f398;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              pbVar36 = (byte *)(pSVar32 + 0x2e)[1].output_count_;\n              bVar13 = false;\n              bVar40 = pbVar36 == (byte *)0x0;\n              if (bVar40) {\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d85a:\n                if ((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))\n                goto LAB_0009d874;\n                goto LAB_0009d943;\n              }\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1fa6);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar13 = *pbVar35 < *pbVar37;\n                bVar40 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar13 = (!bVar13 && !bVar40) == bVar13;\n              if (bVar13) goto LAB_0009d930;\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1f9b);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar35 < *pbVar37;\n                bVar13 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x17;\n                pbVar35 = pbVar36;\n                ppuVar38 = local_94 + -0x687e4;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar35 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar35 == *(byte *)ppuVar38;\n                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if ((!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)) {\n                  bVar40 = false;\n                  iVar20 = 0x16;\n                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;\n                }\n                goto LAB_0009d943;\n              }\nLAB_0009d874:\n              puVar33[-4] = (int)local_c4 >> 0x1f;\n              puVar33[-5] = local_c4;\n              puVar33[-6] = local_b4;\n              puVar33[-7] = relinfo;\n              puVar33[-8] = local_90;\n              puVar33[-9] = 0x9d89a;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            else {\n              if (bVar14 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n              bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              bVar14 = bVar28 & 3;\n              if ((bVar28 & 3) != 0) {\n                bVar30 = bVar30 & 7;\nLAB_0009d6cc:\n                if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }\n              }\nLAB_0009d380:\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            if ((bVar30 & 4) != 0) {\n              puVar33[-3] = (int)local_c4 >> 0x1f;\n              puVar33[-4] = local_c4;\n              puVar33[-5] = local_b4;\n              pSVar29 = relinfo->symtab;\n              puVar33[-6] = relinfo;\n              puVar33[-7] = local_90;\n              local_90 = pSVar29;\n              puVar33[-8] = &pSVar29->warnings_;\n              puVar33[-9] = 0x9d8e4;\n              gold::Warnings::issue_warning<32,_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n            }\n          }\n        }\n        puVar33[-4] = local_d0;\n        puVar33[-5] = 0x9d39e;\n        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n        puVar33[-4] = local_bc;\n        puVar33[-5] = 0x9d3aa;\n        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n        puVar34 = puVar33;\n      }\n      else {\n        *(uint *)((int)puVar34 + -4) = local_c4;\n        *(uint *)((int)puVar34 + -8) = relinfo->data_shndx;\n        *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = relinfo->object;\n        *(Output_section **)((int)puVar34 + -0x10) = output_section;\n                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */\n        *(undefined4 *)((int)puVar34 + -0x14) = 0x9dff8;\n        local_c4 = gold::Output_section::output_offset\n                             (*(Output_section **)((int)puVar34 + -0x10),\n                              *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8),\n                              *(section_offset_type *)((int)puVar34 + -4));\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      prelocs = prelocs + 0xc;\n    } while (reloc_count != local_b4);\n  }" if (parenthesized_expression "(reloc_count != 0)" ( (binary_expression "reloc_count != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      uVar16 = *(uint *)prelocs;\n      local_c4 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18\n      ;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar16 = *(uint *)(prelocs + 4);\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18\n        ;\n        symval._8_4_ = 0x80000000;\n        local_a0 = (uchar *)(uVar16 >> 8);\n        symval.u_.value = 0;\n        if (local_a0 < local_d8) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) {\nLAB_0009ccec:\n            uVar24 = local_90->output_count_;\n            uVar16 = uVar24 - 1;\n            if (0xfffffffd < uVar16) goto LAB_0009cd01;\nLAB_0009e020:\n            if (uVar16 == 0xfffffffd) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70d;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f318;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            symval.output_symtab_index_ = uVar24;\n            goto LAB_0009cd08;\n          }\n          pSVar7 = (local_cc->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          local_90 = (Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_finish;\n          if ((uint)((int)local_90 - (int)pSVar7 >> 4) <= local_a0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8c1;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f282;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          local_9c = pSVar7 + (int)local_a0;\n          local_a4 = (Sized_relobj_file<32,_true> *)(*(uint *)&local_9c->field_0x8 & 0x7ffffff);\n          if (((local_9c->field_0xb & 8) != 0) && (local_a4 != (Sized_relobj_file<32,_true> *)0x0))\n          {\n            local_90 = (Symbol_table *)\n                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_finish;\n            ppOVar8 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((Sized_relobj_file<32,_true> *)((int)local_90 - (int)ppOVar8 >> 2) <= local_a4) {\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -4) = local_cc;\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x50b;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f42b;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            local_90 = (Symbol_table *)ppOVar8[(int)local_a4];\n            if (local_90 != (Symbol_table *)0x0) {\n              local_90 = (Symbol_table *)0x0;\n              local_bc = &symval;\n              goto LAB_0009cd80;\n            }\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -8) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n            *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9e2da;\n            bVar13 = gold::Symbol_table::is_section_folded\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8));\n            if (bVar13) {\n              local_bc = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (Symbol_table *)0x0;\n          local_bc = &symval;\nLAB_0009cd80:\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.value = 0;\n          local_d0 = &symval2;\n          puVar33 = puVar34;\n        }\n        else {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) goto LAB_0009ccec;\n          if (local_a0 < local_cc->local_symbol_count_) {\nLAB_0009f240:\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x17f;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f261;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          uVar16 = (int)local_a0 - local_cc->local_symbol_count_;\n          ppSVar9 = (local_cc->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n          local_90 = (Symbol_table *)\n                     (local_cc->symbols_).\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish;\n          if ((uint)((int)local_90 - (int)ppSVar9 >> 2) <= uVar16) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x65096;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8ad;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f2a3;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          local_90 = (Symbol_table *)ppSVar9[uVar16];\n          if (local_90 == (Symbol_table *)0x0) goto LAB_0009f240;\n          if (((local_90->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0009ccec;\n          *(Symbol_table **)((int)puVar34 + -0xc) = local_90;\n          *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)((int)puVar34 + -0x14) = 0x9e0cb;\n          local_90 = (Symbol_table *)\n                     gold::Symbol_table::resolve_forwards\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Symbol **)((int)puVar34 + -0xc));\n          uVar24 = local_90->output_count_;\n          uVar16 = uVar24 - 1;\n          if (uVar16 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70c;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f155;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            goto LAB_0009e020;\n          }\n          if (symval.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x716;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)puVar34 + -0x14) = &UNK_0009e10f;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\nLAB_0009cd01:\n          symval.output_symtab_index_ = 0xffffffff;\nLAB_0009cd08:\n          symval.u_ = (anon_union_4_2_6a937475_for_u_)(local_90->table_)._M_h._M_element_count;\n          bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar30 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar30 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n          if (-1 < (char)bVar30) {\nLAB_0009d9b8:\n            local_bc = &symval;\n            local_9c = &symval;\n            uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n            goto LAB_0009cd80;\n          }\n          uVar16 = (local_90->table_)._M_h._M_bucket_count;\n          if ((uVar16 & 0x70000) == 0) {\n            if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n               ((bVar30 & 0x20) == 0)) {\n              local_bc = &symval;\n              local_9c = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if ((uVar16 & 0x70000) != 0x40000) goto LAB_0009d9b8;\n          local_a4 = (Sized_relobj_file<32,_true> *)0x0;\n          local_9c = &symval;\nLAB_0009d9f1:\n          local_bc = &symval;\n          local_b0 = &symval_1;\n          symval2.output_symtab_index_ = 0;\n          pp_Var1 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object;\n          *(uint *)((int)puVar34 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n          local_d0 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.value = 0;\n          *(Symbol_value<32> **)((int)puVar34 + -0x10) = local_b0;\n          p_Var2 = pp_Var1[0x10];\n          *(undefined4 *)((int)puVar34 + -0x14) = 0x9da35;\n          (*p_Var2)();\n          bVar13 = false;\n          bVar40 = local_c0 == 0;\n          if (bVar40) {\n            iVar20 = 6;\n            pbVar36 = (byte *)symval_1.output_symtab_index_;\n            pbVar35 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar20 == 0) break;\n              iVar20 = iVar20 + -1;\n              bVar13 = *pbVar36 < *pbVar35;\n              bVar40 = *pbVar36 == *pbVar35;\n              pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n              pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar13 = (!bVar13 && !bVar40) == bVar13;\n            if (!bVar13) {\n              iVar20 = 7;\n              pbVar36 = (byte *)symval_1.output_symtab_index_;\n              ppuVar38 = local_94 + -0x672af;\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar36 < *(byte *)ppuVar38;\n                bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x11;\n                pbVar36 = (byte *)symval_1.output_symtab_index_;\n                ppuVar38 = local_94 + -0x672ad;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                  pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar39 = false;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if (!bVar13) {\n                  iVar20 = 5;\n                  pbVar36 = (byte *)symval_1.output_symtab_index_;\n                  pbVar35 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar39 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  bVar40 = false;\n                  bVar13 = (!bVar39 && !bVar13) == bVar39;\n                  if (!bVar13) {\n                    iVar20 = 5;\n                    pbVar36 = (byte *)symval_1.output_symtab_index_;\n                    ppuVar38 = local_94 + -0x672a7;\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);\n                    bVar39 = false;\n                    bVar13 = (!bVar40 && !bVar13) == bVar40;\n                    if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(bool **)((int)puVar34 + -8) = &found;\n            *(Symbol_value<32> **)((int)puVar34 + -0xc) = local_b0;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x10) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9da8d;\n            AVar21 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                *(uint *)((int)puVar34 + -0x10),*(string **)((int)puVar34 + -0xc),\n                                *(bool **)((int)puVar34 + -8));\n            symval2.u_ = (anon_union_4_2_6a937475_for_u_)0x0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   ((int)&((local_9c->u_).merged_symbol_value)->input_value_ + AVar21);\n            }\n            local_c0 = 1;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              pSVar5 = relinfo->object;\n              if (local_90 == (Symbol_table *)0x0) {\n                *(uchar **)((int)puVar34 + -0x10) = local_a0;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e225;\n                pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10));\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e23d;\n                uVar26 = gettext();\n                *(uchar **)((int)puVar34 + -0xc) = local_a0;\n                *(char **)((int)puVar34 + -0x10) = pcVar27;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9e265;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar34 + -0x10) = local_90;\n                *(bool **)((int)puVar34 + -0x14) = &found;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));\n                puVar12 = _found;\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d;\n                uVar26 = gettext();\n                *(undefined1 **)((int)puVar34 + -0x10) = puVar12;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar34 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;\n                  operator_delete(*(void **)((int)puVar34 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar34 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar34 + -0xc) = &value;\n              *(uchar **)((int)puVar34 + -0x10) = local_a0;\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc63;\n              uVar16 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)\n                                  ,*(bool **)((int)puVar34 + -8));\n              if (uVar16 != 0) {\n                *(uint **)((int)puVar34 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar34 + -0x10) = uVar16;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e18c;\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar34 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;\n                  pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10));\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;\n                  uVar26 = gettext();\n                  *(char **)((int)puVar34 + -0x10) = pcVar27;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;\n                  uVar26 = gettext();\n                  *(pointer *)((int)puVar34 + -0x10) = pcVar10;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            symval2.u_.value = 0;\n          }\n          puVar33 = (undefined4 *)((int)puVar34 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -0xc) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0x10) = 0x716;\n            *(int *)((int)puVar34 + -0x14) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined1 **)((int)puVar34 + -0x18) = &LAB_0009f212;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x14),*(int *)((int)puVar34 + -0x10),\n                       *(char **)((int)puVar34 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((undefined1 *)symval_1.output_symtab_index_ != &symval_1.field_0x8) {\n            *(uint *)((int)puVar34 + -0x14) = symval_1.output_symtab_index_;\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9dadb;\n            operator_delete(*(void **)((int)puVar34 + -0x14));\n          }\n          local_d0 = &symval2;\n          local_9c = &symval2;\n          uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n        }\n        local_b8 = uVar16 & 0xff;\n        bVar30 = (byte)local_9c->field_0xb >> 6 & 1;\n        if (((int)local_c4 < 0) || (view_size <= local_c4)) {\n          local_a0 = (uchar *)0x0;\n          rela.p_ = (Rela_data<32> *)prelocs;\nLAB_0009dcd4:\n          rela.p_ = (Rela_data<32> *)prelocs;\n          puVar33[-4] = (int)local_94 + -0x19ca7f;\n          puVar33[-5] = 0x9dceb;\n          uVar26 = gettext();\n          puVar33[-3] = local_c4;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = (int)local_c4 >> 0x1f;\n          puVar33[-6] = local_c4;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */\n          puVar33[-9] = 0x9dd08;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n        }\n        else {\n          local_a0 = view + local_c4;\n          rela.p_ = (Rela_data<32> *)prelocs;\n          if (local_a0 == (uchar *)0x0) goto LAB_0009dcd4;\n          if (local_a0 == (uchar *)0x0) {\n            local_a0 = (uchar *)0xfffffffc;\n          }\n          symval_1.output_symtab_index_ = 0;\n          symval_1.output_dynsym_index_ = 0xffffffff;\n          local_a4 = relinfo->object;\n          symval_1._8_4_ = 0x80000000;\n          symval_1.u_.value = 0;\n          if (local_90 == (Symbol_table *)0x0) {\n            if (bVar30 == 0) {\n              uVar16 = *(uint *)(prelocs + 8);\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009d56d;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009ddfa;\n                }\n                local_b0 = &symval_1;\n                goto LAB_0009d200;\n              }\nLAB_0009d1f2:\n              local_b0 = &symval_1;\n            }\n            else {\n              uVar16 = *(uint *)(prelocs + 4);\n              local_ac = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n              puVar33[-3] = local_ac;\n              puVar33[-4] = local_a4;\n              local_b0 = &symval_1;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n              puVar33[-5] = 0x9dda9;\n              bVar13 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset\n                                 ((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3]);\n              if (bVar13) {\n                iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                if (iVar20 == 0) {\n                  local_b0 = &symval_1;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                  puVar33[-1] = 0x9f3a6;\n                  plt_section((Target_sparc<32,_true> *)*puVar33);\n                  pSVar29 = extraout_ECX_00;\n                  goto LAB_0009f3a6;\n                }\n                if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                  puVar33[-1] = extraout_ECX;\n                  puVar33[-2] = local_94 + -0x64eef;\n                  puVar33[-3] = 0xc5;\n                  puVar33[-4] = (int)local_94 + -0x19cca3;\n                  local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f3ed;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                iVar6 = *(int *)(iVar20 + 0x34);\n                local_b0 = &symval_1;\n                iVar20 = *(int *)(iVar20 + 4);\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-3] = local_ac;\n                puVar33[-4] = local_a4;\n                p_Var2 = pp_Var1[0x2a];\n                puVar33[-5] = 0x9de86;\n                iVar23 = (*p_Var2)();\n                symval_1.u_.merged_symbol_value =\n                     (Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23);\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n              }\n              else {\n                local_b0 = &symval_1;\n              }\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) goto LAB_0009d200;\n              if (local_b8 < 0x10) {\nLAB_0009d56d:\n                uVar16 = (rela.p_)->r_info;\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                uVar16 = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2b];\n                puVar33[-9] = 0x9d58e;\n                iVar20 = (*p_Var2)();\n                if ((char)iVar20 == '\0') {\n                  puVar33[-2] = local_94 + -0x650e7;\n                  puVar33[-3] = 0xd2c;\n                  puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f357;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2c];\n                puVar33[-9] = 0x9d5b2;\n                (*p_Var2)();\n                goto LAB_0009d200;\n              }\n              if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009ddfa:\n              puVar33[-2] = local_ac;\n              puVar33[-3] = local_a4;\n              puVar33[-4] = local_9c;\n              puVar33[-5] = 0x9de14;\n              VVar22 = gold::Symbol_value<32>::value<true>\n                                 ((Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n            return;\n          }\n          puVar33[-4] = local_94 + -0x672b6;\n          puVar33[-5] = 0x9e3bf;\n          uVar26 = gettext();\n          uVar16 = (rela.p_)->r_offset;\n          puVar33[-3] = local_b8;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = 0;\n          puVar33[-6] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                        uVar16 << 0x18;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n          puVar33[-9] = 0x9e3e3;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n          puVar33[-4] = local_b0;\n          puVar33[-5] = 0x9d286;\n          gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n          if (local_90 != (Symbol_table *)0x0) {\n            bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n            bVar14 = bVar30 & 7;\n            pSVar32 = local_90;\n            if ((bVar30 & 7) == 0) {\n              if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n                 (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n                pSVar29 = *(Symbol_table **)&local_90->offset_;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 != pSVar32) {\n                  puVar33[-4] = pSVar29;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d736;\n                  iVar20 = (*(code *)pSVar3)();\n                  if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }\n                  goto LAB_0009d970;\n                }\nLAB_0009d2df:\n                bVar30 = bVar30 & 7;\n                bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                bVar14 = bVar28 & 3;\n                if ((bVar28 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }\nLAB_0009d312:\n                if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }\n                goto LAB_0009d380;\n              }\nLAB_0009d63d:\n              bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              if ((bVar28 >> 4 == 2) ||\n                 (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)) {\nLAB_0009d970:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d943:\n                if (bVar14 == 0) goto LAB_0009d380;\n                bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                pSVar29 = (Symbol_table *)(uint)bVar30;\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                bVar30 = bVar30 & 7;\n                if (bVar30 != 0) goto LAB_0009d6cc;\n                goto LAB_0009d2fb;\n              }\n              pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-1] = 0;\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f447;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (p_Var2[0x49b1] != (_func_int_varargs)0x0) goto LAB_0009d970;\n              if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) < '\0') {\n                if (bVar14 != 0) goto LAB_0009d6b0;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\nLAB_0009d900:\n                pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 == pSVar32) goto LAB_0009d2df;\n                puVar33[-4] = pSVar29;\n                puVar33[-5] = 0x9d91c;\n                iVar20 = (*(code *)pSVar3)();\n                pSVar32 = local_e0;\n                if (iVar20 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                goto LAB_0009d943;\n              }\nLAB_0009d779:\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-2] = local_94 + -0x64fb7;\n                puVar33[-3] = 0x69;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f336;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              iVar20 = *(int *)p_Var2;\n              puVar33[-3] = local_90;\n              puVar33[-4] = p_Var2;\n              pcVar4 = *(code **)(iVar20 + 0x1c);\n              puVar33[-5] = 0x9d795;\n              cVar15 = (*pcVar4)();\n              if (cVar15 != '\0') goto LAB_0009d930;\n              pSVar32 = (Symbol_table *)\n                        ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (pSVar32 == (Symbol_table *)0x0) {\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f398;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              pbVar36 = (byte *)(pSVar32 + 0x2e)[1].output_count_;\n              bVar13 = false;\n              bVar40 = pbVar36 == (byte *)0x0;\n              if (bVar40) {\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d85a:\n                if ((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))\n                goto LAB_0009d874;\n                goto LAB_0009d943;\n              }\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1fa6);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar13 = *pbVar35 < *pbVar37;\n                bVar40 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar13 = (!bVar13 && !bVar40) == bVar13;\n              if (bVar13) goto LAB_0009d930;\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1f9b);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar35 < *pbVar37;\n                bVar13 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x17;\n                pbVar35 = pbVar36;\n                ppuVar38 = local_94 + -0x687e4;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar35 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar35 == *(byte *)ppuVar38;\n                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if ((!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)) {\n                  bVar40 = false;\n                  iVar20 = 0x16;\n                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;\n                }\n                goto LAB_0009d943;\n              }\nLAB_0009d874:\n              puVar33[-4] = (int)local_c4 >> 0x1f;\n              puVar33[-5] = local_c4;\n              puVar33[-6] = local_b4;\n              puVar33[-7] = relinfo;\n              puVar33[-8] = local_90;\n              puVar33[-9] = 0x9d89a;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            else {\n              if (bVar14 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n              bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              bVar14 = bVar28 & 3;\n              if ((bVar28 & 3) != 0) {\n                bVar30 = bVar30 & 7;\nLAB_0009d6cc:\n                if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }\n              }\nLAB_0009d380:\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            if ((bVar30 & 4) != 0) {\n              puVar33[-3] = (int)local_c4 >> 0x1f;\n              puVar33[-4] = local_c4;\n              puVar33[-5] = local_b4;\n              pSVar29 = relinfo->symtab;\n              puVar33[-6] = relinfo;\n              puVar33[-7] = local_90;\n              local_90 = pSVar29;\n              puVar33[-8] = &pSVar29->warnings_;\n              puVar33[-9] = 0x9d8e4;\n              gold::Warnings::issue_warning<32,_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n            }\n          }\n        }\n        puVar33[-4] = local_d0;\n        puVar33[-5] = 0x9d39e;\n        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n        puVar33[-4] = local_bc;\n        puVar33[-5] = 0x9d3aa;\n        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n        puVar34 = puVar33;\n      }\n      else {\n        *(uint *)((int)puVar34 + -4) = local_c4;\n        *(uint *)((int)puVar34 + -8) = relinfo->data_shndx;\n        *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = relinfo->object;\n        *(Output_section **)((int)puVar34 + -0x10) = output_section;\n                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */\n        *(undefined4 *)((int)puVar34 + -0x14) = 0x9dff8;\n        local_c4 = gold::Output_section::output_offset\n                             (*(Output_section **)((int)puVar34 + -0x10),\n                              *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8),\n                              *(section_offset_type *)((int)puVar34 + -4));\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      prelocs = prelocs + 0xc;\n    } while (reloc_count != local_b4);\n  }" { (do_statement "do {\n      uVar16 = *(uint *)prelocs;\n      local_c4 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18\n      ;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar16 = *(uint *)(prelocs + 4);\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18\n        ;\n        symval._8_4_ = 0x80000000;\n        local_a0 = (uchar *)(uVar16 >> 8);\n        symval.u_.value = 0;\n        if (local_a0 < local_d8) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) {\nLAB_0009ccec:\n            uVar24 = local_90->output_count_;\n            uVar16 = uVar24 - 1;\n            if (0xfffffffd < uVar16) goto LAB_0009cd01;\nLAB_0009e020:\n            if (uVar16 == 0xfffffffd) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70d;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f318;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            symval.output_symtab_index_ = uVar24;\n            goto LAB_0009cd08;\n          }\n          pSVar7 = (local_cc->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          local_90 = (Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_finish;\n          if ((uint)((int)local_90 - (int)pSVar7 >> 4) <= local_a0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8c1;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f282;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          local_9c = pSVar7 + (int)local_a0;\n          local_a4 = (Sized_relobj_file<32,_true> *)(*(uint *)&local_9c->field_0x8 & 0x7ffffff);\n          if (((local_9c->field_0xb & 8) != 0) && (local_a4 != (Sized_relobj_file<32,_true> *)0x0))\n          {\n            local_90 = (Symbol_table *)\n                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_finish;\n            ppOVar8 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((Sized_relobj_file<32,_true> *)((int)local_90 - (int)ppOVar8 >> 2) <= local_a4) {\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -4) = local_cc;\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x50b;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f42b;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            local_90 = (Symbol_table *)ppOVar8[(int)local_a4];\n            if (local_90 != (Symbol_table *)0x0) {\n              local_90 = (Symbol_table *)0x0;\n              local_bc = &symval;\n              goto LAB_0009cd80;\n            }\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -8) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n            *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9e2da;\n            bVar13 = gold::Symbol_table::is_section_folded\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8));\n            if (bVar13) {\n              local_bc = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (Symbol_table *)0x0;\n          local_bc = &symval;\nLAB_0009cd80:\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.value = 0;\n          local_d0 = &symval2;\n          puVar33 = puVar34;\n        }\n        else {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) goto LAB_0009ccec;\n          if (local_a0 < local_cc->local_symbol_count_) {\nLAB_0009f240:\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x17f;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f261;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          uVar16 = (int)local_a0 - local_cc->local_symbol_count_;\n          ppSVar9 = (local_cc->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n          local_90 = (Symbol_table *)\n                     (local_cc->symbols_).\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish;\n          if ((uint)((int)local_90 - (int)ppSVar9 >> 2) <= uVar16) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x65096;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8ad;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f2a3;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          local_90 = (Symbol_table *)ppSVar9[uVar16];\n          if (local_90 == (Symbol_table *)0x0) goto LAB_0009f240;\n          if (((local_90->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0009ccec;\n          *(Symbol_table **)((int)puVar34 + -0xc) = local_90;\n          *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)((int)puVar34 + -0x14) = 0x9e0cb;\n          local_90 = (Symbol_table *)\n                     gold::Symbol_table::resolve_forwards\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Symbol **)((int)puVar34 + -0xc));\n          uVar24 = local_90->output_count_;\n          uVar16 = uVar24 - 1;\n          if (uVar16 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70c;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f155;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            goto LAB_0009e020;\n          }\n          if (symval.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x716;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)puVar34 + -0x14) = &UNK_0009e10f;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\nLAB_0009cd01:\n          symval.output_symtab_index_ = 0xffffffff;\nLAB_0009cd08:\n          symval.u_ = (anon_union_4_2_6a937475_for_u_)(local_90->table_)._M_h._M_element_count;\n          bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar30 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar30 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n          if (-1 < (char)bVar30) {\nLAB_0009d9b8:\n            local_bc = &symval;\n            local_9c = &symval;\n            uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n            goto LAB_0009cd80;\n          }\n          uVar16 = (local_90->table_)._M_h._M_bucket_count;\n          if ((uVar16 & 0x70000) == 0) {\n            if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n               ((bVar30 & 0x20) == 0)) {\n              local_bc = &symval;\n              local_9c = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if ((uVar16 & 0x70000) != 0x40000) goto LAB_0009d9b8;\n          local_a4 = (Sized_relobj_file<32,_true> *)0x0;\n          local_9c = &symval;\nLAB_0009d9f1:\n          local_bc = &symval;\n          local_b0 = &symval_1;\n          symval2.output_symtab_index_ = 0;\n          pp_Var1 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object;\n          *(uint *)((int)puVar34 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n          local_d0 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.value = 0;\n          *(Symbol_value<32> **)((int)puVar34 + -0x10) = local_b0;\n          p_Var2 = pp_Var1[0x10];\n          *(undefined4 *)((int)puVar34 + -0x14) = 0x9da35;\n          (*p_Var2)();\n          bVar13 = false;\n          bVar40 = local_c0 == 0;\n          if (bVar40) {\n            iVar20 = 6;\n            pbVar36 = (byte *)symval_1.output_symtab_index_;\n            pbVar35 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar20 == 0) break;\n              iVar20 = iVar20 + -1;\n              bVar13 = *pbVar36 < *pbVar35;\n              bVar40 = *pbVar36 == *pbVar35;\n              pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n              pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar13 = (!bVar13 && !bVar40) == bVar13;\n            if (!bVar13) {\n              iVar20 = 7;\n              pbVar36 = (byte *)symval_1.output_symtab_index_;\n              ppuVar38 = local_94 + -0x672af;\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar36 < *(byte *)ppuVar38;\n                bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x11;\n                pbVar36 = (byte *)symval_1.output_symtab_index_;\n                ppuVar38 = local_94 + -0x672ad;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                  pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar39 = false;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if (!bVar13) {\n                  iVar20 = 5;\n                  pbVar36 = (byte *)symval_1.output_symtab_index_;\n                  pbVar35 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar39 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  bVar40 = false;\n                  bVar13 = (!bVar39 && !bVar13) == bVar39;\n                  if (!bVar13) {\n                    iVar20 = 5;\n                    pbVar36 = (byte *)symval_1.output_symtab_index_;\n                    ppuVar38 = local_94 + -0x672a7;\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);\n                    bVar39 = false;\n                    bVar13 = (!bVar40 && !bVar13) == bVar40;\n                    if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(bool **)((int)puVar34 + -8) = &found;\n            *(Symbol_value<32> **)((int)puVar34 + -0xc) = local_b0;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x10) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9da8d;\n            AVar21 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                *(uint *)((int)puVar34 + -0x10),*(string **)((int)puVar34 + -0xc),\n                                *(bool **)((int)puVar34 + -8));\n            symval2.u_ = (anon_union_4_2_6a937475_for_u_)0x0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   ((int)&((local_9c->u_).merged_symbol_value)->input_value_ + AVar21);\n            }\n            local_c0 = 1;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              pSVar5 = relinfo->object;\n              if (local_90 == (Symbol_table *)0x0) {\n                *(uchar **)((int)puVar34 + -0x10) = local_a0;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e225;\n                pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10));\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e23d;\n                uVar26 = gettext();\n                *(uchar **)((int)puVar34 + -0xc) = local_a0;\n                *(char **)((int)puVar34 + -0x10) = pcVar27;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9e265;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar34 + -0x10) = local_90;\n                *(bool **)((int)puVar34 + -0x14) = &found;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));\n                puVar12 = _found;\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d;\n                uVar26 = gettext();\n                *(undefined1 **)((int)puVar34 + -0x10) = puVar12;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar34 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;\n                  operator_delete(*(void **)((int)puVar34 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar34 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar34 + -0xc) = &value;\n              *(uchar **)((int)puVar34 + -0x10) = local_a0;\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc63;\n              uVar16 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)\n                                  ,*(bool **)((int)puVar34 + -8));\n              if (uVar16 != 0) {\n                *(uint **)((int)puVar34 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar34 + -0x10) = uVar16;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e18c;\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar34 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;\n                  pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10));\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;\n                  uVar26 = gettext();\n                  *(char **)((int)puVar34 + -0x10) = pcVar27;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;\n                  uVar26 = gettext();\n                  *(pointer *)((int)puVar34 + -0x10) = pcVar10;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            symval2.u_.value = 0;\n          }\n          puVar33 = (undefined4 *)((int)puVar34 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -0xc) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0x10) = 0x716;\n            *(int *)((int)puVar34 + -0x14) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined1 **)((int)puVar34 + -0x18) = &LAB_0009f212;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x14),*(int *)((int)puVar34 + -0x10),\n                       *(char **)((int)puVar34 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((undefined1 *)symval_1.output_symtab_index_ != &symval_1.field_0x8) {\n            *(uint *)((int)puVar34 + -0x14) = symval_1.output_symtab_index_;\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9dadb;\n            operator_delete(*(void **)((int)puVar34 + -0x14));\n          }\n          local_d0 = &symval2;\n          local_9c = &symval2;\n          uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n        }\n        local_b8 = uVar16 & 0xff;\n        bVar30 = (byte)local_9c->field_0xb >> 6 & 1;\n        if (((int)local_c4 < 0) || (view_size <= local_c4)) {\n          local_a0 = (uchar *)0x0;\n          rela.p_ = (Rela_data<32> *)prelocs;\nLAB_0009dcd4:\n          rela.p_ = (Rela_data<32> *)prelocs;\n          puVar33[-4] = (int)local_94 + -0x19ca7f;\n          puVar33[-5] = 0x9dceb;\n          uVar26 = gettext();\n          puVar33[-3] = local_c4;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = (int)local_c4 >> 0x1f;\n          puVar33[-6] = local_c4;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */\n          puVar33[-9] = 0x9dd08;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n        }\n        else {\n          local_a0 = view + local_c4;\n          rela.p_ = (Rela_data<32> *)prelocs;\n          if (local_a0 == (uchar *)0x0) goto LAB_0009dcd4;\n          if (local_a0 == (uchar *)0x0) {\n            local_a0 = (uchar *)0xfffffffc;\n          }\n          symval_1.output_symtab_index_ = 0;\n          symval_1.output_dynsym_index_ = 0xffffffff;\n          local_a4 = relinfo->object;\n          symval_1._8_4_ = 0x80000000;\n          symval_1.u_.value = 0;\n          if (local_90 == (Symbol_table *)0x0) {\n            if (bVar30 == 0) {\n              uVar16 = *(uint *)(prelocs + 8);\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009d56d;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009ddfa;\n                }\n                local_b0 = &symval_1;\n                goto LAB_0009d200;\n              }\nLAB_0009d1f2:\n              local_b0 = &symval_1;\n            }\n            else {\n              uVar16 = *(uint *)(prelocs + 4);\n              local_ac = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n              puVar33[-3] = local_ac;\n              puVar33[-4] = local_a4;\n              local_b0 = &symval_1;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n              puVar33[-5] = 0x9dda9;\n              bVar13 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset\n                                 ((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3]);\n              if (bVar13) {\n                iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                if (iVar20 == 0) {\n                  local_b0 = &symval_1;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                  puVar33[-1] = 0x9f3a6;\n                  plt_section((Target_sparc<32,_true> *)*puVar33);\n                  pSVar29 = extraout_ECX_00;\n                  goto LAB_0009f3a6;\n                }\n                if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                  puVar33[-1] = extraout_ECX;\n                  puVar33[-2] = local_94 + -0x64eef;\n                  puVar33[-3] = 0xc5;\n                  puVar33[-4] = (int)local_94 + -0x19cca3;\n                  local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f3ed;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                iVar6 = *(int *)(iVar20 + 0x34);\n                local_b0 = &symval_1;\n                iVar20 = *(int *)(iVar20 + 4);\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-3] = local_ac;\n                puVar33[-4] = local_a4;\n                p_Var2 = pp_Var1[0x2a];\n                puVar33[-5] = 0x9de86;\n                iVar23 = (*p_Var2)();\n                symval_1.u_.merged_symbol_value =\n                     (Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23);\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n              }\n              else {\n                local_b0 = &symval_1;\n              }\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) goto LAB_0009d200;\n              if (local_b8 < 0x10) {\nLAB_0009d56d:\n                uVar16 = (rela.p_)->r_info;\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                uVar16 = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2b];\n                puVar33[-9] = 0x9d58e;\n                iVar20 = (*p_Var2)();\n                if ((char)iVar20 == '\0') {\n                  puVar33[-2] = local_94 + -0x650e7;\n                  puVar33[-3] = 0xd2c;\n                  puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f357;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2c];\n                puVar33[-9] = 0x9d5b2;\n                (*p_Var2)();\n                goto LAB_0009d200;\n              }\n              if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009ddfa:\n              puVar33[-2] = local_ac;\n              puVar33[-3] = local_a4;\n              puVar33[-4] = local_9c;\n              puVar33[-5] = 0x9de14;\n              VVar22 = gold::Symbol_value<32>::value<true>\n                                 ((Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n            return;\n          }\n          puVar33[-4] = local_94 + -0x672b6;\n          puVar33[-5] = 0x9e3bf;\n          uVar26 = gettext();\n          uVar16 = (rela.p_)->r_offset;\n          puVar33[-3] = local_b8;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = 0;\n          puVar33[-6] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                        uVar16 << 0x18;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n          puVar33[-9] = 0x9e3e3;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n          puVar33[-4] = local_b0;\n          puVar33[-5] = 0x9d286;\n          gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n          if (local_90 != (Symbol_table *)0x0) {\n            bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n            bVar14 = bVar30 & 7;\n            pSVar32 = local_90;\n            if ((bVar30 & 7) == 0) {\n              if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n                 (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n                pSVar29 = *(Symbol_table **)&local_90->offset_;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 != pSVar32) {\n                  puVar33[-4] = pSVar29;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d736;\n                  iVar20 = (*(code *)pSVar3)();\n                  if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }\n                  goto LAB_0009d970;\n                }\nLAB_0009d2df:\n                bVar30 = bVar30 & 7;\n                bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                bVar14 = bVar28 & 3;\n                if ((bVar28 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }\nLAB_0009d312:\n                if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }\n                goto LAB_0009d380;\n              }\nLAB_0009d63d:\n              bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              if ((bVar28 >> 4 == 2) ||\n                 (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)) {\nLAB_0009d970:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d943:\n                if (bVar14 == 0) goto LAB_0009d380;\n                bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                pSVar29 = (Symbol_table *)(uint)bVar30;\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                bVar30 = bVar30 & 7;\n                if (bVar30 != 0) goto LAB_0009d6cc;\n                goto LAB_0009d2fb;\n              }\n              pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-1] = 0;\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f447;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (p_Var2[0x49b1] != (_func_int_varargs)0x0) goto LAB_0009d970;\n              if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) < '\0') {\n                if (bVar14 != 0) goto LAB_0009d6b0;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\nLAB_0009d900:\n                pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 == pSVar32) goto LAB_0009d2df;\n                puVar33[-4] = pSVar29;\n                puVar33[-5] = 0x9d91c;\n                iVar20 = (*(code *)pSVar3)();\n                pSVar32 = local_e0;\n                if (iVar20 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                goto LAB_0009d943;\n              }\nLAB_0009d779:\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-2] = local_94 + -0x64fb7;\n                puVar33[-3] = 0x69;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f336;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              iVar20 = *(int *)p_Var2;\n              puVar33[-3] = local_90;\n              puVar33[-4] = p_Var2;\n              pcVar4 = *(code **)(iVar20 + 0x1c);\n              puVar33[-5] = 0x9d795;\n              cVar15 = (*pcVar4)();\n              if (cVar15 != '\0') goto LAB_0009d930;\n              pSVar32 = (Symbol_table *)\n                        ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (pSVar32 == (Symbol_table *)0x0) {\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f398;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              pbVar36 = (byte *)(pSVar32 + 0x2e)[1].output_count_;\n              bVar13 = false;\n              bVar40 = pbVar36 == (byte *)0x0;\n              if (bVar40) {\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d85a:\n                if ((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))\n                goto LAB_0009d874;\n                goto LAB_0009d943;\n              }\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1fa6);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar13 = *pbVar35 < *pbVar37;\n                bVar40 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar13 = (!bVar13 && !bVar40) == bVar13;\n              if (bVar13) goto LAB_0009d930;\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1f9b);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar35 < *pbVar37;\n                bVar13 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x17;\n                pbVar35 = pbVar36;\n                ppuVar38 = local_94 + -0x687e4;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar35 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar35 == *(byte *)ppuVar38;\n                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if ((!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)) {\n                  bVar40 = false;\n                  iVar20 = 0x16;\n                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;\n                }\n                goto LAB_0009d943;\n              }\nLAB_0009d874:\n              puVar33[-4] = (int)local_c4 >> 0x1f;\n              puVar33[-5] = local_c4;\n              puVar33[-6] = local_b4;\n              puVar33[-7] = relinfo;\n              puVar33[-8] = local_90;\n              puVar33[-9] = 0x9d89a;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            else {\n              if (bVar14 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n              bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              bVar14 = bVar28 & 3;\n              if ((bVar28 & 3) != 0) {\n                bVar30 = bVar30 & 7;\nLAB_0009d6cc:\n                if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }\n              }\nLAB_0009d380:\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            if ((bVar30 & 4) != 0) {\n              puVar33[-3] = (int)local_c4 >> 0x1f;\n              puVar33[-4] = local_c4;\n              puVar33[-5] = local_b4;\n              pSVar29 = relinfo->symtab;\n              puVar33[-6] = relinfo;\n              puVar33[-7] = local_90;\n              local_90 = pSVar29;\n              puVar33[-8] = &pSVar29->warnings_;\n              puVar33[-9] = 0x9d8e4;\n              gold::Warnings::issue_warning<32,_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n            }\n          }\n        }\n        puVar33[-4] = local_d0;\n        puVar33[-5] = 0x9d39e;\n        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n        puVar33[-4] = local_bc;\n        puVar33[-5] = 0x9d3aa;\n        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n        puVar34 = puVar33;\n      }\n      else {\n        *(uint *)((int)puVar34 + -4) = local_c4;\n        *(uint *)((int)puVar34 + -8) = relinfo->data_shndx;\n        *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = relinfo->object;\n        *(Output_section **)((int)puVar34 + -0x10) = output_section;\n                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */\n        *(undefined4 *)((int)puVar34 + -0x14) = 0x9dff8;\n        local_c4 = gold::Output_section::output_offset\n                             (*(Output_section **)((int)puVar34 + -0x10),\n                              *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8),\n                              *(section_offset_type *)((int)puVar34 + -4));\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      prelocs = prelocs + 0xc;\n    } while (reloc_count != local_b4);" do (compound_statement "{\n      uVar16 = *(uint *)prelocs;\n      local_c4 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18\n      ;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar16 = *(uint *)(prelocs + 4);\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18\n        ;\n        symval._8_4_ = 0x80000000;\n        local_a0 = (uchar *)(uVar16 >> 8);\n        symval.u_.value = 0;\n        if (local_a0 < local_d8) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) {\nLAB_0009ccec:\n            uVar24 = local_90->output_count_;\n            uVar16 = uVar24 - 1;\n            if (0xfffffffd < uVar16) goto LAB_0009cd01;\nLAB_0009e020:\n            if (uVar16 == 0xfffffffd) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70d;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f318;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            symval.output_symtab_index_ = uVar24;\n            goto LAB_0009cd08;\n          }\n          pSVar7 = (local_cc->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          local_90 = (Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_finish;\n          if ((uint)((int)local_90 - (int)pSVar7 >> 4) <= local_a0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8c1;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f282;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          local_9c = pSVar7 + (int)local_a0;\n          local_a4 = (Sized_relobj_file<32,_true> *)(*(uint *)&local_9c->field_0x8 & 0x7ffffff);\n          if (((local_9c->field_0xb & 8) != 0) && (local_a4 != (Sized_relobj_file<32,_true> *)0x0))\n          {\n            local_90 = (Symbol_table *)\n                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_finish;\n            ppOVar8 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((Sized_relobj_file<32,_true> *)((int)local_90 - (int)ppOVar8 >> 2) <= local_a4) {\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -4) = local_cc;\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x50b;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f42b;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            local_90 = (Symbol_table *)ppOVar8[(int)local_a4];\n            if (local_90 != (Symbol_table *)0x0) {\n              local_90 = (Symbol_table *)0x0;\n              local_bc = &symval;\n              goto LAB_0009cd80;\n            }\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -8) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n            *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9e2da;\n            bVar13 = gold::Symbol_table::is_section_folded\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8));\n            if (bVar13) {\n              local_bc = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (Symbol_table *)0x0;\n          local_bc = &symval;\nLAB_0009cd80:\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.value = 0;\n          local_d0 = &symval2;\n          puVar33 = puVar34;\n        }\n        else {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) goto LAB_0009ccec;\n          if (local_a0 < local_cc->local_symbol_count_) {\nLAB_0009f240:\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x17f;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f261;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          uVar16 = (int)local_a0 - local_cc->local_symbol_count_;\n          ppSVar9 = (local_cc->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n          local_90 = (Symbol_table *)\n                     (local_cc->symbols_).\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish;\n          if ((uint)((int)local_90 - (int)ppSVar9 >> 2) <= uVar16) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x65096;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8ad;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f2a3;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          local_90 = (Symbol_table *)ppSVar9[uVar16];\n          if (local_90 == (Symbol_table *)0x0) goto LAB_0009f240;\n          if (((local_90->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0009ccec;\n          *(Symbol_table **)((int)puVar34 + -0xc) = local_90;\n          *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)((int)puVar34 + -0x14) = 0x9e0cb;\n          local_90 = (Symbol_table *)\n                     gold::Symbol_table::resolve_forwards\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Symbol **)((int)puVar34 + -0xc));\n          uVar24 = local_90->output_count_;\n          uVar16 = uVar24 - 1;\n          if (uVar16 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70c;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f155;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            goto LAB_0009e020;\n          }\n          if (symval.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x716;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)puVar34 + -0x14) = &UNK_0009e10f;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\nLAB_0009cd01:\n          symval.output_symtab_index_ = 0xffffffff;\nLAB_0009cd08:\n          symval.u_ = (anon_union_4_2_6a937475_for_u_)(local_90->table_)._M_h._M_element_count;\n          bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar30 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar30 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n          if (-1 < (char)bVar30) {\nLAB_0009d9b8:\n            local_bc = &symval;\n            local_9c = &symval;\n            uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n            goto LAB_0009cd80;\n          }\n          uVar16 = (local_90->table_)._M_h._M_bucket_count;\n          if ((uVar16 & 0x70000) == 0) {\n            if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n               ((bVar30 & 0x20) == 0)) {\n              local_bc = &symval;\n              local_9c = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if ((uVar16 & 0x70000) != 0x40000) goto LAB_0009d9b8;\n          local_a4 = (Sized_relobj_file<32,_true> *)0x0;\n          local_9c = &symval;\nLAB_0009d9f1:\n          local_bc = &symval;\n          local_b0 = &symval_1;\n          symval2.output_symtab_index_ = 0;\n          pp_Var1 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object;\n          *(uint *)((int)puVar34 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n          local_d0 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.value = 0;\n          *(Symbol_value<32> **)((int)puVar34 + -0x10) = local_b0;\n          p_Var2 = pp_Var1[0x10];\n          *(undefined4 *)((int)puVar34 + -0x14) = 0x9da35;\n          (*p_Var2)();\n          bVar13 = false;\n          bVar40 = local_c0 == 0;\n          if (bVar40) {\n            iVar20 = 6;\n            pbVar36 = (byte *)symval_1.output_symtab_index_;\n            pbVar35 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar20 == 0) break;\n              iVar20 = iVar20 + -1;\n              bVar13 = *pbVar36 < *pbVar35;\n              bVar40 = *pbVar36 == *pbVar35;\n              pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n              pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar13 = (!bVar13 && !bVar40) == bVar13;\n            if (!bVar13) {\n              iVar20 = 7;\n              pbVar36 = (byte *)symval_1.output_symtab_index_;\n              ppuVar38 = local_94 + -0x672af;\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar36 < *(byte *)ppuVar38;\n                bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x11;\n                pbVar36 = (byte *)symval_1.output_symtab_index_;\n                ppuVar38 = local_94 + -0x672ad;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                  pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar39 = false;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if (!bVar13) {\n                  iVar20 = 5;\n                  pbVar36 = (byte *)symval_1.output_symtab_index_;\n                  pbVar35 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar39 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  bVar40 = false;\n                  bVar13 = (!bVar39 && !bVar13) == bVar39;\n                  if (!bVar13) {\n                    iVar20 = 5;\n                    pbVar36 = (byte *)symval_1.output_symtab_index_;\n                    ppuVar38 = local_94 + -0x672a7;\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);\n                    bVar39 = false;\n                    bVar13 = (!bVar40 && !bVar13) == bVar40;\n                    if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(bool **)((int)puVar34 + -8) = &found;\n            *(Symbol_value<32> **)((int)puVar34 + -0xc) = local_b0;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x10) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9da8d;\n            AVar21 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                *(uint *)((int)puVar34 + -0x10),*(string **)((int)puVar34 + -0xc),\n                                *(bool **)((int)puVar34 + -8));\n            symval2.u_ = (anon_union_4_2_6a937475_for_u_)0x0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   ((int)&((local_9c->u_).merged_symbol_value)->input_value_ + AVar21);\n            }\n            local_c0 = 1;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              pSVar5 = relinfo->object;\n              if (local_90 == (Symbol_table *)0x0) {\n                *(uchar **)((int)puVar34 + -0x10) = local_a0;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e225;\n                pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10));\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e23d;\n                uVar26 = gettext();\n                *(uchar **)((int)puVar34 + -0xc) = local_a0;\n                *(char **)((int)puVar34 + -0x10) = pcVar27;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9e265;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar34 + -0x10) = local_90;\n                *(bool **)((int)puVar34 + -0x14) = &found;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));\n                puVar12 = _found;\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d;\n                uVar26 = gettext();\n                *(undefined1 **)((int)puVar34 + -0x10) = puVar12;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar34 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;\n                  operator_delete(*(void **)((int)puVar34 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar34 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar34 + -0xc) = &value;\n              *(uchar **)((int)puVar34 + -0x10) = local_a0;\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc63;\n              uVar16 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)\n                                  ,*(bool **)((int)puVar34 + -8));\n              if (uVar16 != 0) {\n                *(uint **)((int)puVar34 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar34 + -0x10) = uVar16;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e18c;\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar34 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;\n                  pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10));\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;\n                  uVar26 = gettext();\n                  *(char **)((int)puVar34 + -0x10) = pcVar27;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;\n                  uVar26 = gettext();\n                  *(pointer *)((int)puVar34 + -0x10) = pcVar10;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            symval2.u_.value = 0;\n          }\n          puVar33 = (undefined4 *)((int)puVar34 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -0xc) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0x10) = 0x716;\n            *(int *)((int)puVar34 + -0x14) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined1 **)((int)puVar34 + -0x18) = &LAB_0009f212;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x14),*(int *)((int)puVar34 + -0x10),\n                       *(char **)((int)puVar34 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((undefined1 *)symval_1.output_symtab_index_ != &symval_1.field_0x8) {\n            *(uint *)((int)puVar34 + -0x14) = symval_1.output_symtab_index_;\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9dadb;\n            operator_delete(*(void **)((int)puVar34 + -0x14));\n          }\n          local_d0 = &symval2;\n          local_9c = &symval2;\n          uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n        }\n        local_b8 = uVar16 & 0xff;\n        bVar30 = (byte)local_9c->field_0xb >> 6 & 1;\n        if (((int)local_c4 < 0) || (view_size <= local_c4)) {\n          local_a0 = (uchar *)0x0;\n          rela.p_ = (Rela_data<32> *)prelocs;\nLAB_0009dcd4:\n          rela.p_ = (Rela_data<32> *)prelocs;\n          puVar33[-4] = (int)local_94 + -0x19ca7f;\n          puVar33[-5] = 0x9dceb;\n          uVar26 = gettext();\n          puVar33[-3] = local_c4;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = (int)local_c4 >> 0x1f;\n          puVar33[-6] = local_c4;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */\n          puVar33[-9] = 0x9dd08;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n        }\n        else {\n          local_a0 = view + local_c4;\n          rela.p_ = (Rela_data<32> *)prelocs;\n          if (local_a0 == (uchar *)0x0) goto LAB_0009dcd4;\n          if (local_a0 == (uchar *)0x0) {\n            local_a0 = (uchar *)0xfffffffc;\n          }\n          symval_1.output_symtab_index_ = 0;\n          symval_1.output_dynsym_index_ = 0xffffffff;\n          local_a4 = relinfo->object;\n          symval_1._8_4_ = 0x80000000;\n          symval_1.u_.value = 0;\n          if (local_90 == (Symbol_table *)0x0) {\n            if (bVar30 == 0) {\n              uVar16 = *(uint *)(prelocs + 8);\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009d56d;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009ddfa;\n                }\n                local_b0 = &symval_1;\n                goto LAB_0009d200;\n              }\nLAB_0009d1f2:\n              local_b0 = &symval_1;\n            }\n            else {\n              uVar16 = *(uint *)(prelocs + 4);\n              local_ac = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n              puVar33[-3] = local_ac;\n              puVar33[-4] = local_a4;\n              local_b0 = &symval_1;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n              puVar33[-5] = 0x9dda9;\n              bVar13 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset\n                                 ((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3]);\n              if (bVar13) {\n                iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                if (iVar20 == 0) {\n                  local_b0 = &symval_1;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                  puVar33[-1] = 0x9f3a6;\n                  plt_section((Target_sparc<32,_true> *)*puVar33);\n                  pSVar29 = extraout_ECX_00;\n                  goto LAB_0009f3a6;\n                }\n                if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                  puVar33[-1] = extraout_ECX;\n                  puVar33[-2] = local_94 + -0x64eef;\n                  puVar33[-3] = 0xc5;\n                  puVar33[-4] = (int)local_94 + -0x19cca3;\n                  local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f3ed;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                iVar6 = *(int *)(iVar20 + 0x34);\n                local_b0 = &symval_1;\n                iVar20 = *(int *)(iVar20 + 4);\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-3] = local_ac;\n                puVar33[-4] = local_a4;\n                p_Var2 = pp_Var1[0x2a];\n                puVar33[-5] = 0x9de86;\n                iVar23 = (*p_Var2)();\n                symval_1.u_.merged_symbol_value =\n                     (Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23);\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n              }\n              else {\n                local_b0 = &symval_1;\n              }\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) goto LAB_0009d200;\n              if (local_b8 < 0x10) {\nLAB_0009d56d:\n                uVar16 = (rela.p_)->r_info;\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                uVar16 = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2b];\n                puVar33[-9] = 0x9d58e;\n                iVar20 = (*p_Var2)();\n                if ((char)iVar20 == '\0') {\n                  puVar33[-2] = local_94 + -0x650e7;\n                  puVar33[-3] = 0xd2c;\n                  puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f357;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2c];\n                puVar33[-9] = 0x9d5b2;\n                (*p_Var2)();\n                goto LAB_0009d200;\n              }\n              if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009ddfa:\n              puVar33[-2] = local_ac;\n              puVar33[-3] = local_a4;\n              puVar33[-4] = local_9c;\n              puVar33[-5] = 0x9de14;\n              VVar22 = gold::Symbol_value<32>::value<true>\n                                 ((Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n            return;\n          }\n          puVar33[-4] = local_94 + -0x672b6;\n          puVar33[-5] = 0x9e3bf;\n          uVar26 = gettext();\n          uVar16 = (rela.p_)->r_offset;\n          puVar33[-3] = local_b8;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = 0;\n          puVar33[-6] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                        uVar16 << 0x18;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n          puVar33[-9] = 0x9e3e3;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n          puVar33[-4] = local_b0;\n          puVar33[-5] = 0x9d286;\n          gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n          if (local_90 != (Symbol_table *)0x0) {\n            bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n            bVar14 = bVar30 & 7;\n            pSVar32 = local_90;\n            if ((bVar30 & 7) == 0) {\n              if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n                 (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n                pSVar29 = *(Symbol_table **)&local_90->offset_;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 != pSVar32) {\n                  puVar33[-4] = pSVar29;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d736;\n                  iVar20 = (*(code *)pSVar3)();\n                  if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }\n                  goto LAB_0009d970;\n                }\nLAB_0009d2df:\n                bVar30 = bVar30 & 7;\n                bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                bVar14 = bVar28 & 3;\n                if ((bVar28 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }\nLAB_0009d312:\n                if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }\n                goto LAB_0009d380;\n              }\nLAB_0009d63d:\n              bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              if ((bVar28 >> 4 == 2) ||\n                 (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)) {\nLAB_0009d970:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d943:\n                if (bVar14 == 0) goto LAB_0009d380;\n                bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                pSVar29 = (Symbol_table *)(uint)bVar30;\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                bVar30 = bVar30 & 7;\n                if (bVar30 != 0) goto LAB_0009d6cc;\n                goto LAB_0009d2fb;\n              }\n              pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-1] = 0;\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f447;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (p_Var2[0x49b1] != (_func_int_varargs)0x0) goto LAB_0009d970;\n              if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) < '\0') {\n                if (bVar14 != 0) goto LAB_0009d6b0;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\nLAB_0009d900:\n                pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 == pSVar32) goto LAB_0009d2df;\n                puVar33[-4] = pSVar29;\n                puVar33[-5] = 0x9d91c;\n                iVar20 = (*(code *)pSVar3)();\n                pSVar32 = local_e0;\n                if (iVar20 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                goto LAB_0009d943;\n              }\nLAB_0009d779:\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-2] = local_94 + -0x64fb7;\n                puVar33[-3] = 0x69;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f336;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              iVar20 = *(int *)p_Var2;\n              puVar33[-3] = local_90;\n              puVar33[-4] = p_Var2;\n              pcVar4 = *(code **)(iVar20 + 0x1c);\n              puVar33[-5] = 0x9d795;\n              cVar15 = (*pcVar4)();\n              if (cVar15 != '\0') goto LAB_0009d930;\n              pSVar32 = (Symbol_table *)\n                        ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (pSVar32 == (Symbol_table *)0x0) {\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f398;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              pbVar36 = (byte *)(pSVar32 + 0x2e)[1].output_count_;\n              bVar13 = false;\n              bVar40 = pbVar36 == (byte *)0x0;\n              if (bVar40) {\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d85a:\n                if ((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))\n                goto LAB_0009d874;\n                goto LAB_0009d943;\n              }\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1fa6);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar13 = *pbVar35 < *pbVar37;\n                bVar40 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar13 = (!bVar13 && !bVar40) == bVar13;\n              if (bVar13) goto LAB_0009d930;\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1f9b);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar35 < *pbVar37;\n                bVar13 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x17;\n                pbVar35 = pbVar36;\n                ppuVar38 = local_94 + -0x687e4;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar35 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar35 == *(byte *)ppuVar38;\n                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if ((!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)) {\n                  bVar40 = false;\n                  iVar20 = 0x16;\n                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;\n                }\n                goto LAB_0009d943;\n              }\nLAB_0009d874:\n              puVar33[-4] = (int)local_c4 >> 0x1f;\n              puVar33[-5] = local_c4;\n              puVar33[-6] = local_b4;\n              puVar33[-7] = relinfo;\n              puVar33[-8] = local_90;\n              puVar33[-9] = 0x9d89a;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            else {\n              if (bVar14 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n              bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              bVar14 = bVar28 & 3;\n              if ((bVar28 & 3) != 0) {\n                bVar30 = bVar30 & 7;\nLAB_0009d6cc:\n                if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }\n              }\nLAB_0009d380:\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            if ((bVar30 & 4) != 0) {\n              puVar33[-3] = (int)local_c4 >> 0x1f;\n              puVar33[-4] = local_c4;\n              puVar33[-5] = local_b4;\n              pSVar29 = relinfo->symtab;\n              puVar33[-6] = relinfo;\n              puVar33[-7] = local_90;\n              local_90 = pSVar29;\n              puVar33[-8] = &pSVar29->warnings_;\n              puVar33[-9] = 0x9d8e4;\n              gold::Warnings::issue_warning<32,_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n            }\n          }\n        }\n        puVar33[-4] = local_d0;\n        puVar33[-5] = 0x9d39e;\n        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n        puVar33[-4] = local_bc;\n        puVar33[-5] = 0x9d3aa;\n        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n        puVar34 = puVar33;\n      }\n      else {\n        *(uint *)((int)puVar34 + -4) = local_c4;\n        *(uint *)((int)puVar34 + -8) = relinfo->data_shndx;\n        *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = relinfo->object;\n        *(Output_section **)((int)puVar34 + -0x10) = output_section;\n                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */\n        *(undefined4 *)((int)puVar34 + -0x14) = 0x9dff8;\n        local_c4 = gold::Output_section::output_offset\n                             (*(Output_section **)((int)puVar34 + -0x10),\n                              *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8),\n                              *(section_offset_type *)((int)puVar34 + -4));\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      prelocs = prelocs + 0xc;\n    }" { (expression_statement "uVar16 = *(uint *)prelocs;" (assignment_expression "uVar16 = *(uint *)prelocs" identifier = (pointer_expression "*(uint *)prelocs" * (cast_expression "(uint *)prelocs" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_c4 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18\n      ;" (assignment_expression "local_c4 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18" identifier = (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal))) ;) (if_statement "if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar16 = *(uint *)(prelocs + 4);\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18\n        ;\n        symval._8_4_ = 0x80000000;\n        local_a0 = (uchar *)(uVar16 >> 8);\n        symval.u_.value = 0;\n        if (local_a0 < local_d8) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) {\nLAB_0009ccec:\n            uVar24 = local_90->output_count_;\n            uVar16 = uVar24 - 1;\n            if (0xfffffffd < uVar16) goto LAB_0009cd01;\nLAB_0009e020:\n            if (uVar16 == 0xfffffffd) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70d;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f318;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            symval.output_symtab_index_ = uVar24;\n            goto LAB_0009cd08;\n          }\n          pSVar7 = (local_cc->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          local_90 = (Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_finish;\n          if ((uint)((int)local_90 - (int)pSVar7 >> 4) <= local_a0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8c1;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f282;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          local_9c = pSVar7 + (int)local_a0;\n          local_a4 = (Sized_relobj_file<32,_true> *)(*(uint *)&local_9c->field_0x8 & 0x7ffffff);\n          if (((local_9c->field_0xb & 8) != 0) && (local_a4 != (Sized_relobj_file<32,_true> *)0x0))\n          {\n            local_90 = (Symbol_table *)\n                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_finish;\n            ppOVar8 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((Sized_relobj_file<32,_true> *)((int)local_90 - (int)ppOVar8 >> 2) <= local_a4) {\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -4) = local_cc;\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x50b;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f42b;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            local_90 = (Symbol_table *)ppOVar8[(int)local_a4];\n            if (local_90 != (Symbol_table *)0x0) {\n              local_90 = (Symbol_table *)0x0;\n              local_bc = &symval;\n              goto LAB_0009cd80;\n            }\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -8) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n            *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9e2da;\n            bVar13 = gold::Symbol_table::is_section_folded\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8));\n            if (bVar13) {\n              local_bc = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (Symbol_table *)0x0;\n          local_bc = &symval;\nLAB_0009cd80:\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.value = 0;\n          local_d0 = &symval2;\n          puVar33 = puVar34;\n        }\n        else {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) goto LAB_0009ccec;\n          if (local_a0 < local_cc->local_symbol_count_) {\nLAB_0009f240:\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x17f;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f261;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          uVar16 = (int)local_a0 - local_cc->local_symbol_count_;\n          ppSVar9 = (local_cc->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n          local_90 = (Symbol_table *)\n                     (local_cc->symbols_).\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish;\n          if ((uint)((int)local_90 - (int)ppSVar9 >> 2) <= uVar16) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x65096;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8ad;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f2a3;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          local_90 = (Symbol_table *)ppSVar9[uVar16];\n          if (local_90 == (Symbol_table *)0x0) goto LAB_0009f240;\n          if (((local_90->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0009ccec;\n          *(Symbol_table **)((int)puVar34 + -0xc) = local_90;\n          *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)((int)puVar34 + -0x14) = 0x9e0cb;\n          local_90 = (Symbol_table *)\n                     gold::Symbol_table::resolve_forwards\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Symbol **)((int)puVar34 + -0xc));\n          uVar24 = local_90->output_count_;\n          uVar16 = uVar24 - 1;\n          if (uVar16 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70c;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f155;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            goto LAB_0009e020;\n          }\n          if (symval.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x716;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)puVar34 + -0x14) = &UNK_0009e10f;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\nLAB_0009cd01:\n          symval.output_symtab_index_ = 0xffffffff;\nLAB_0009cd08:\n          symval.u_ = (anon_union_4_2_6a937475_for_u_)(local_90->table_)._M_h._M_element_count;\n          bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar30 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar30 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n          if (-1 < (char)bVar30) {\nLAB_0009d9b8:\n            local_bc = &symval;\n            local_9c = &symval;\n            uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n            goto LAB_0009cd80;\n          }\n          uVar16 = (local_90->table_)._M_h._M_bucket_count;\n          if ((uVar16 & 0x70000) == 0) {\n            if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n               ((bVar30 & 0x20) == 0)) {\n              local_bc = &symval;\n              local_9c = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if ((uVar16 & 0x70000) != 0x40000) goto LAB_0009d9b8;\n          local_a4 = (Sized_relobj_file<32,_true> *)0x0;\n          local_9c = &symval;\nLAB_0009d9f1:\n          local_bc = &symval;\n          local_b0 = &symval_1;\n          symval2.output_symtab_index_ = 0;\n          pp_Var1 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object;\n          *(uint *)((int)puVar34 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n          local_d0 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.value = 0;\n          *(Symbol_value<32> **)((int)puVar34 + -0x10) = local_b0;\n          p_Var2 = pp_Var1[0x10];\n          *(undefined4 *)((int)puVar34 + -0x14) = 0x9da35;\n          (*p_Var2)();\n          bVar13 = false;\n          bVar40 = local_c0 == 0;\n          if (bVar40) {\n            iVar20 = 6;\n            pbVar36 = (byte *)symval_1.output_symtab_index_;\n            pbVar35 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar20 == 0) break;\n              iVar20 = iVar20 + -1;\n              bVar13 = *pbVar36 < *pbVar35;\n              bVar40 = *pbVar36 == *pbVar35;\n              pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n              pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar13 = (!bVar13 && !bVar40) == bVar13;\n            if (!bVar13) {\n              iVar20 = 7;\n              pbVar36 = (byte *)symval_1.output_symtab_index_;\n              ppuVar38 = local_94 + -0x672af;\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar36 < *(byte *)ppuVar38;\n                bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x11;\n                pbVar36 = (byte *)symval_1.output_symtab_index_;\n                ppuVar38 = local_94 + -0x672ad;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                  pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar39 = false;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if (!bVar13) {\n                  iVar20 = 5;\n                  pbVar36 = (byte *)symval_1.output_symtab_index_;\n                  pbVar35 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar39 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  bVar40 = false;\n                  bVar13 = (!bVar39 && !bVar13) == bVar39;\n                  if (!bVar13) {\n                    iVar20 = 5;\n                    pbVar36 = (byte *)symval_1.output_symtab_index_;\n                    ppuVar38 = local_94 + -0x672a7;\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);\n                    bVar39 = false;\n                    bVar13 = (!bVar40 && !bVar13) == bVar40;\n                    if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(bool **)((int)puVar34 + -8) = &found;\n            *(Symbol_value<32> **)((int)puVar34 + -0xc) = local_b0;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x10) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9da8d;\n            AVar21 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                *(uint *)((int)puVar34 + -0x10),*(string **)((int)puVar34 + -0xc),\n                                *(bool **)((int)puVar34 + -8));\n            symval2.u_ = (anon_union_4_2_6a937475_for_u_)0x0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   ((int)&((local_9c->u_).merged_symbol_value)->input_value_ + AVar21);\n            }\n            local_c0 = 1;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              pSVar5 = relinfo->object;\n              if (local_90 == (Symbol_table *)0x0) {\n                *(uchar **)((int)puVar34 + -0x10) = local_a0;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e225;\n                pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10));\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e23d;\n                uVar26 = gettext();\n                *(uchar **)((int)puVar34 + -0xc) = local_a0;\n                *(char **)((int)puVar34 + -0x10) = pcVar27;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9e265;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar34 + -0x10) = local_90;\n                *(bool **)((int)puVar34 + -0x14) = &found;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));\n                puVar12 = _found;\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d;\n                uVar26 = gettext();\n                *(undefined1 **)((int)puVar34 + -0x10) = puVar12;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar34 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;\n                  operator_delete(*(void **)((int)puVar34 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar34 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar34 + -0xc) = &value;\n              *(uchar **)((int)puVar34 + -0x10) = local_a0;\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc63;\n              uVar16 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)\n                                  ,*(bool **)((int)puVar34 + -8));\n              if (uVar16 != 0) {\n                *(uint **)((int)puVar34 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar34 + -0x10) = uVar16;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e18c;\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar34 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;\n                  pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10));\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;\n                  uVar26 = gettext();\n                  *(char **)((int)puVar34 + -0x10) = pcVar27;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;\n                  uVar26 = gettext();\n                  *(pointer *)((int)puVar34 + -0x10) = pcVar10;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            symval2.u_.value = 0;\n          }\n          puVar33 = (undefined4 *)((int)puVar34 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -0xc) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0x10) = 0x716;\n            *(int *)((int)puVar34 + -0x14) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined1 **)((int)puVar34 + -0x18) = &LAB_0009f212;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x14),*(int *)((int)puVar34 + -0x10),\n                       *(char **)((int)puVar34 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((undefined1 *)symval_1.output_symtab_index_ != &symval_1.field_0x8) {\n            *(uint *)((int)puVar34 + -0x14) = symval_1.output_symtab_index_;\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9dadb;\n            operator_delete(*(void **)((int)puVar34 + -0x14));\n          }\n          local_d0 = &symval2;\n          local_9c = &symval2;\n          uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n        }\n        local_b8 = uVar16 & 0xff;\n        bVar30 = (byte)local_9c->field_0xb >> 6 & 1;\n        if (((int)local_c4 < 0) || (view_size <= local_c4)) {\n          local_a0 = (uchar *)0x0;\n          rela.p_ = (Rela_data<32> *)prelocs;\nLAB_0009dcd4:\n          rela.p_ = (Rela_data<32> *)prelocs;\n          puVar33[-4] = (int)local_94 + -0x19ca7f;\n          puVar33[-5] = 0x9dceb;\n          uVar26 = gettext();\n          puVar33[-3] = local_c4;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = (int)local_c4 >> 0x1f;\n          puVar33[-6] = local_c4;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */\n          puVar33[-9] = 0x9dd08;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n        }\n        else {\n          local_a0 = view + local_c4;\n          rela.p_ = (Rela_data<32> *)prelocs;\n          if (local_a0 == (uchar *)0x0) goto LAB_0009dcd4;\n          if (local_a0 == (uchar *)0x0) {\n            local_a0 = (uchar *)0xfffffffc;\n          }\n          symval_1.output_symtab_index_ = 0;\n          symval_1.output_dynsym_index_ = 0xffffffff;\n          local_a4 = relinfo->object;\n          symval_1._8_4_ = 0x80000000;\n          symval_1.u_.value = 0;\n          if (local_90 == (Symbol_table *)0x0) {\n            if (bVar30 == 0) {\n              uVar16 = *(uint *)(prelocs + 8);\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009d56d;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009ddfa;\n                }\n                local_b0 = &symval_1;\n                goto LAB_0009d200;\n              }\nLAB_0009d1f2:\n              local_b0 = &symval_1;\n            }\n            else {\n              uVar16 = *(uint *)(prelocs + 4);\n              local_ac = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n              puVar33[-3] = local_ac;\n              puVar33[-4] = local_a4;\n              local_b0 = &symval_1;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n              puVar33[-5] = 0x9dda9;\n              bVar13 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset\n                                 ((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3]);\n              if (bVar13) {\n                iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                if (iVar20 == 0) {\n                  local_b0 = &symval_1;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                  puVar33[-1] = 0x9f3a6;\n                  plt_section((Target_sparc<32,_true> *)*puVar33);\n                  pSVar29 = extraout_ECX_00;\n                  goto LAB_0009f3a6;\n                }\n                if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                  puVar33[-1] = extraout_ECX;\n                  puVar33[-2] = local_94 + -0x64eef;\n                  puVar33[-3] = 0xc5;\n                  puVar33[-4] = (int)local_94 + -0x19cca3;\n                  local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f3ed;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                iVar6 = *(int *)(iVar20 + 0x34);\n                local_b0 = &symval_1;\n                iVar20 = *(int *)(iVar20 + 4);\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-3] = local_ac;\n                puVar33[-4] = local_a4;\n                p_Var2 = pp_Var1[0x2a];\n                puVar33[-5] = 0x9de86;\n                iVar23 = (*p_Var2)();\n                symval_1.u_.merged_symbol_value =\n                     (Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23);\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n              }\n              else {\n                local_b0 = &symval_1;\n              }\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) goto LAB_0009d200;\n              if (local_b8 < 0x10) {\nLAB_0009d56d:\n                uVar16 = (rela.p_)->r_info;\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                uVar16 = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2b];\n                puVar33[-9] = 0x9d58e;\n                iVar20 = (*p_Var2)();\n                if ((char)iVar20 == '\0') {\n                  puVar33[-2] = local_94 + -0x650e7;\n                  puVar33[-3] = 0xd2c;\n                  puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f357;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2c];\n                puVar33[-9] = 0x9d5b2;\n                (*p_Var2)();\n                goto LAB_0009d200;\n              }\n              if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009ddfa:\n              puVar33[-2] = local_ac;\n              puVar33[-3] = local_a4;\n              puVar33[-4] = local_9c;\n              puVar33[-5] = 0x9de14;\n              VVar22 = gold::Symbol_value<32>::value<true>\n                                 ((Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n            return;\n          }\n          puVar33[-4] = local_94 + -0x672b6;\n          puVar33[-5] = 0x9e3bf;\n          uVar26 = gettext();\n          uVar16 = (rela.p_)->r_offset;\n          puVar33[-3] = local_b8;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = 0;\n          puVar33[-6] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                        uVar16 << 0x18;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n          puVar33[-9] = 0x9e3e3;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n          puVar33[-4] = local_b0;\n          puVar33[-5] = 0x9d286;\n          gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n          if (local_90 != (Symbol_table *)0x0) {\n            bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n            bVar14 = bVar30 & 7;\n            pSVar32 = local_90;\n            if ((bVar30 & 7) == 0) {\n              if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n                 (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n                pSVar29 = *(Symbol_table **)&local_90->offset_;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 != pSVar32) {\n                  puVar33[-4] = pSVar29;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d736;\n                  iVar20 = (*(code *)pSVar3)();\n                  if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }\n                  goto LAB_0009d970;\n                }\nLAB_0009d2df:\n                bVar30 = bVar30 & 7;\n                bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                bVar14 = bVar28 & 3;\n                if ((bVar28 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }\nLAB_0009d312:\n                if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }\n                goto LAB_0009d380;\n              }\nLAB_0009d63d:\n              bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              if ((bVar28 >> 4 == 2) ||\n                 (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)) {\nLAB_0009d970:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d943:\n                if (bVar14 == 0) goto LAB_0009d380;\n                bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                pSVar29 = (Symbol_table *)(uint)bVar30;\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                bVar30 = bVar30 & 7;\n                if (bVar30 != 0) goto LAB_0009d6cc;\n                goto LAB_0009d2fb;\n              }\n              pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-1] = 0;\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f447;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (p_Var2[0x49b1] != (_func_int_varargs)0x0) goto LAB_0009d970;\n              if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) < '\0') {\n                if (bVar14 != 0) goto LAB_0009d6b0;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\nLAB_0009d900:\n                pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 == pSVar32) goto LAB_0009d2df;\n                puVar33[-4] = pSVar29;\n                puVar33[-5] = 0x9d91c;\n                iVar20 = (*(code *)pSVar3)();\n                pSVar32 = local_e0;\n                if (iVar20 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                goto LAB_0009d943;\n              }\nLAB_0009d779:\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-2] = local_94 + -0x64fb7;\n                puVar33[-3] = 0x69;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f336;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              iVar20 = *(int *)p_Var2;\n              puVar33[-3] = local_90;\n              puVar33[-4] = p_Var2;\n              pcVar4 = *(code **)(iVar20 + 0x1c);\n              puVar33[-5] = 0x9d795;\n              cVar15 = (*pcVar4)();\n              if (cVar15 != '\0') goto LAB_0009d930;\n              pSVar32 = (Symbol_table *)\n                        ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (pSVar32 == (Symbol_table *)0x0) {\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f398;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              pbVar36 = (byte *)(pSVar32 + 0x2e)[1].output_count_;\n              bVar13 = false;\n              bVar40 = pbVar36 == (byte *)0x0;\n              if (bVar40) {\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d85a:\n                if ((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))\n                goto LAB_0009d874;\n                goto LAB_0009d943;\n              }\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1fa6);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar13 = *pbVar35 < *pbVar37;\n                bVar40 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar13 = (!bVar13 && !bVar40) == bVar13;\n              if (bVar13) goto LAB_0009d930;\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1f9b);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar35 < *pbVar37;\n                bVar13 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x17;\n                pbVar35 = pbVar36;\n                ppuVar38 = local_94 + -0x687e4;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar35 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar35 == *(byte *)ppuVar38;\n                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if ((!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)) {\n                  bVar40 = false;\n                  iVar20 = 0x16;\n                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;\n                }\n                goto LAB_0009d943;\n              }\nLAB_0009d874:\n              puVar33[-4] = (int)local_c4 >> 0x1f;\n              puVar33[-5] = local_c4;\n              puVar33[-6] = local_b4;\n              puVar33[-7] = relinfo;\n              puVar33[-8] = local_90;\n              puVar33[-9] = 0x9d89a;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            else {\n              if (bVar14 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n              bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              bVar14 = bVar28 & 3;\n              if ((bVar28 & 3) != 0) {\n                bVar30 = bVar30 & 7;\nLAB_0009d6cc:\n                if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }\n              }\nLAB_0009d380:\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            if ((bVar30 & 4) != 0) {\n              puVar33[-3] = (int)local_c4 >> 0x1f;\n              puVar33[-4] = local_c4;\n              puVar33[-5] = local_b4;\n              pSVar29 = relinfo->symtab;\n              puVar33[-6] = relinfo;\n              puVar33[-7] = local_90;\n              local_90 = pSVar29;\n              puVar33[-8] = &pSVar29->warnings_;\n              puVar33[-9] = 0x9d8e4;\n              gold::Warnings::issue_warning<32,_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n            }\n          }\n        }\n        puVar33[-4] = local_d0;\n        puVar33[-5] = 0x9d39e;\n        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n        puVar33[-4] = local_bc;\n        puVar33[-5] = 0x9d3aa;\n        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n        puVar34 = puVar33;\n      }\n      else {\n        *(uint *)((int)puVar34 + -4) = local_c4;\n        *(uint *)((int)puVar34 + -8) = relinfo->data_shndx;\n        *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = relinfo->object;\n        *(Output_section **)((int)puVar34 + -0x10) = output_section;\n                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */\n        *(undefined4 *)((int)puVar34 + -0x14) = 0x9dff8;\n        local_c4 = gold::Output_section::output_offset\n                             (*(Output_section **)((int)puVar34 + -0x10),\n                              *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8),\n                              *(section_offset_type *)((int)puVar34 + -4));\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }" if (parenthesized_expression "(local_d1 == '\0')" ( (binary_expression "local_d1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0009cc8a:\n        uVar16 = *(uint *)(prelocs + 4);\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18\n        ;\n        symval._8_4_ = 0x80000000;\n        local_a0 = (uchar *)(uVar16 >> 8);\n        symval.u_.value = 0;\n        if (local_a0 < local_d8) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) {\nLAB_0009ccec:\n            uVar24 = local_90->output_count_;\n            uVar16 = uVar24 - 1;\n            if (0xfffffffd < uVar16) goto LAB_0009cd01;\nLAB_0009e020:\n            if (uVar16 == 0xfffffffd) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70d;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f318;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            symval.output_symtab_index_ = uVar24;\n            goto LAB_0009cd08;\n          }\n          pSVar7 = (local_cc->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          local_90 = (Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_finish;\n          if ((uint)((int)local_90 - (int)pSVar7 >> 4) <= local_a0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8c1;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f282;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          local_9c = pSVar7 + (int)local_a0;\n          local_a4 = (Sized_relobj_file<32,_true> *)(*(uint *)&local_9c->field_0x8 & 0x7ffffff);\n          if (((local_9c->field_0xb & 8) != 0) && (local_a4 != (Sized_relobj_file<32,_true> *)0x0))\n          {\n            local_90 = (Symbol_table *)\n                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_finish;\n            ppOVar8 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((Sized_relobj_file<32,_true> *)((int)local_90 - (int)ppOVar8 >> 2) <= local_a4) {\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -4) = local_cc;\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x50b;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f42b;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            local_90 = (Symbol_table *)ppOVar8[(int)local_a4];\n            if (local_90 != (Symbol_table *)0x0) {\n              local_90 = (Symbol_table *)0x0;\n              local_bc = &symval;\n              goto LAB_0009cd80;\n            }\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -8) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n            *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9e2da;\n            bVar13 = gold::Symbol_table::is_section_folded\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8));\n            if (bVar13) {\n              local_bc = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (Symbol_table *)0x0;\n          local_bc = &symval;\nLAB_0009cd80:\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.value = 0;\n          local_d0 = &symval2;\n          puVar33 = puVar34;\n        }\n        else {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) goto LAB_0009ccec;\n          if (local_a0 < local_cc->local_symbol_count_) {\nLAB_0009f240:\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x17f;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f261;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          uVar16 = (int)local_a0 - local_cc->local_symbol_count_;\n          ppSVar9 = (local_cc->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n          local_90 = (Symbol_table *)\n                     (local_cc->symbols_).\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish;\n          if ((uint)((int)local_90 - (int)ppSVar9 >> 2) <= uVar16) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x65096;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8ad;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f2a3;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          local_90 = (Symbol_table *)ppSVar9[uVar16];\n          if (local_90 == (Symbol_table *)0x0) goto LAB_0009f240;\n          if (((local_90->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0009ccec;\n          *(Symbol_table **)((int)puVar34 + -0xc) = local_90;\n          *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)((int)puVar34 + -0x14) = 0x9e0cb;\n          local_90 = (Symbol_table *)\n                     gold::Symbol_table::resolve_forwards\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Symbol **)((int)puVar34 + -0xc));\n          uVar24 = local_90->output_count_;\n          uVar16 = uVar24 - 1;\n          if (uVar16 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70c;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f155;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            goto LAB_0009e020;\n          }\n          if (symval.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x716;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)puVar34 + -0x14) = &UNK_0009e10f;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\nLAB_0009cd01:\n          symval.output_symtab_index_ = 0xffffffff;\nLAB_0009cd08:\n          symval.u_ = (anon_union_4_2_6a937475_for_u_)(local_90->table_)._M_h._M_element_count;\n          bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar30 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar30 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n          if (-1 < (char)bVar30) {\nLAB_0009d9b8:\n            local_bc = &symval;\n            local_9c = &symval;\n            uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n            goto LAB_0009cd80;\n          }\n          uVar16 = (local_90->table_)._M_h._M_bucket_count;\n          if ((uVar16 & 0x70000) == 0) {\n            if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n               ((bVar30 & 0x20) == 0)) {\n              local_bc = &symval;\n              local_9c = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if ((uVar16 & 0x70000) != 0x40000) goto LAB_0009d9b8;\n          local_a4 = (Sized_relobj_file<32,_true> *)0x0;\n          local_9c = &symval;\nLAB_0009d9f1:\n          local_bc = &symval;\n          local_b0 = &symval_1;\n          symval2.output_symtab_index_ = 0;\n          pp_Var1 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object;\n          *(uint *)((int)puVar34 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n          local_d0 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.value = 0;\n          *(Symbol_value<32> **)((int)puVar34 + -0x10) = local_b0;\n          p_Var2 = pp_Var1[0x10];\n          *(undefined4 *)((int)puVar34 + -0x14) = 0x9da35;\n          (*p_Var2)();\n          bVar13 = false;\n          bVar40 = local_c0 == 0;\n          if (bVar40) {\n            iVar20 = 6;\n            pbVar36 = (byte *)symval_1.output_symtab_index_;\n            pbVar35 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar20 == 0) break;\n              iVar20 = iVar20 + -1;\n              bVar13 = *pbVar36 < *pbVar35;\n              bVar40 = *pbVar36 == *pbVar35;\n              pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n              pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar13 = (!bVar13 && !bVar40) == bVar13;\n            if (!bVar13) {\n              iVar20 = 7;\n              pbVar36 = (byte *)symval_1.output_symtab_index_;\n              ppuVar38 = local_94 + -0x672af;\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar36 < *(byte *)ppuVar38;\n                bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x11;\n                pbVar36 = (byte *)symval_1.output_symtab_index_;\n                ppuVar38 = local_94 + -0x672ad;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                  pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar39 = false;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if (!bVar13) {\n                  iVar20 = 5;\n                  pbVar36 = (byte *)symval_1.output_symtab_index_;\n                  pbVar35 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar39 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  bVar40 = false;\n                  bVar13 = (!bVar39 && !bVar13) == bVar39;\n                  if (!bVar13) {\n                    iVar20 = 5;\n                    pbVar36 = (byte *)symval_1.output_symtab_index_;\n                    ppuVar38 = local_94 + -0x672a7;\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);\n                    bVar39 = false;\n                    bVar13 = (!bVar40 && !bVar13) == bVar40;\n                    if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(bool **)((int)puVar34 + -8) = &found;\n            *(Symbol_value<32> **)((int)puVar34 + -0xc) = local_b0;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x10) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9da8d;\n            AVar21 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                *(uint *)((int)puVar34 + -0x10),*(string **)((int)puVar34 + -0xc),\n                                *(bool **)((int)puVar34 + -8));\n            symval2.u_ = (anon_union_4_2_6a937475_for_u_)0x0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   ((int)&((local_9c->u_).merged_symbol_value)->input_value_ + AVar21);\n            }\n            local_c0 = 1;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              pSVar5 = relinfo->object;\n              if (local_90 == (Symbol_table *)0x0) {\n                *(uchar **)((int)puVar34 + -0x10) = local_a0;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e225;\n                pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10));\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e23d;\n                uVar26 = gettext();\n                *(uchar **)((int)puVar34 + -0xc) = local_a0;\n                *(char **)((int)puVar34 + -0x10) = pcVar27;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9e265;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar34 + -0x10) = local_90;\n                *(bool **)((int)puVar34 + -0x14) = &found;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));\n                puVar12 = _found;\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d;\n                uVar26 = gettext();\n                *(undefined1 **)((int)puVar34 + -0x10) = puVar12;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar34 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;\n                  operator_delete(*(void **)((int)puVar34 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar34 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar34 + -0xc) = &value;\n              *(uchar **)((int)puVar34 + -0x10) = local_a0;\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc63;\n              uVar16 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)\n                                  ,*(bool **)((int)puVar34 + -8));\n              if (uVar16 != 0) {\n                *(uint **)((int)puVar34 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar34 + -0x10) = uVar16;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e18c;\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar34 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;\n                  pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10));\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;\n                  uVar26 = gettext();\n                  *(char **)((int)puVar34 + -0x10) = pcVar27;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;\n                  uVar26 = gettext();\n                  *(pointer *)((int)puVar34 + -0x10) = pcVar10;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            symval2.u_.value = 0;\n          }\n          puVar33 = (undefined4 *)((int)puVar34 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -0xc) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0x10) = 0x716;\n            *(int *)((int)puVar34 + -0x14) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined1 **)((int)puVar34 + -0x18) = &LAB_0009f212;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x14),*(int *)((int)puVar34 + -0x10),\n                       *(char **)((int)puVar34 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((undefined1 *)symval_1.output_symtab_index_ != &symval_1.field_0x8) {\n            *(uint *)((int)puVar34 + -0x14) = symval_1.output_symtab_index_;\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9dadb;\n            operator_delete(*(void **)((int)puVar34 + -0x14));\n          }\n          local_d0 = &symval2;\n          local_9c = &symval2;\n          uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n        }\n        local_b8 = uVar16 & 0xff;\n        bVar30 = (byte)local_9c->field_0xb >> 6 & 1;\n        if (((int)local_c4 < 0) || (view_size <= local_c4)) {\n          local_a0 = (uchar *)0x0;\n          rela.p_ = (Rela_data<32> *)prelocs;\nLAB_0009dcd4:\n          rela.p_ = (Rela_data<32> *)prelocs;\n          puVar33[-4] = (int)local_94 + -0x19ca7f;\n          puVar33[-5] = 0x9dceb;\n          uVar26 = gettext();\n          puVar33[-3] = local_c4;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = (int)local_c4 >> 0x1f;\n          puVar33[-6] = local_c4;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */\n          puVar33[-9] = 0x9dd08;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n        }\n        else {\n          local_a0 = view + local_c4;\n          rela.p_ = (Rela_data<32> *)prelocs;\n          if (local_a0 == (uchar *)0x0) goto LAB_0009dcd4;\n          if (local_a0 == (uchar *)0x0) {\n            local_a0 = (uchar *)0xfffffffc;\n          }\n          symval_1.output_symtab_index_ = 0;\n          symval_1.output_dynsym_index_ = 0xffffffff;\n          local_a4 = relinfo->object;\n          symval_1._8_4_ = 0x80000000;\n          symval_1.u_.value = 0;\n          if (local_90 == (Symbol_table *)0x0) {\n            if (bVar30 == 0) {\n              uVar16 = *(uint *)(prelocs + 8);\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009d56d;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009ddfa;\n                }\n                local_b0 = &symval_1;\n                goto LAB_0009d200;\n              }\nLAB_0009d1f2:\n              local_b0 = &symval_1;\n            }\n            else {\n              uVar16 = *(uint *)(prelocs + 4);\n              local_ac = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n              puVar33[-3] = local_ac;\n              puVar33[-4] = local_a4;\n              local_b0 = &symval_1;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n              puVar33[-5] = 0x9dda9;\n              bVar13 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset\n                                 ((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3]);\n              if (bVar13) {\n                iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                if (iVar20 == 0) {\n                  local_b0 = &symval_1;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                  puVar33[-1] = 0x9f3a6;\n                  plt_section((Target_sparc<32,_true> *)*puVar33);\n                  pSVar29 = extraout_ECX_00;\n                  goto LAB_0009f3a6;\n                }\n                if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                  puVar33[-1] = extraout_ECX;\n                  puVar33[-2] = local_94 + -0x64eef;\n                  puVar33[-3] = 0xc5;\n                  puVar33[-4] = (int)local_94 + -0x19cca3;\n                  local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f3ed;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                iVar6 = *(int *)(iVar20 + 0x34);\n                local_b0 = &symval_1;\n                iVar20 = *(int *)(iVar20 + 4);\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-3] = local_ac;\n                puVar33[-4] = local_a4;\n                p_Var2 = pp_Var1[0x2a];\n                puVar33[-5] = 0x9de86;\n                iVar23 = (*p_Var2)();\n                symval_1.u_.merged_symbol_value =\n                     (Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23);\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n              }\n              else {\n                local_b0 = &symval_1;\n              }\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) goto LAB_0009d200;\n              if (local_b8 < 0x10) {\nLAB_0009d56d:\n                uVar16 = (rela.p_)->r_info;\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                uVar16 = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2b];\n                puVar33[-9] = 0x9d58e;\n                iVar20 = (*p_Var2)();\n                if ((char)iVar20 == '\0') {\n                  puVar33[-2] = local_94 + -0x650e7;\n                  puVar33[-3] = 0xd2c;\n                  puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f357;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2c];\n                puVar33[-9] = 0x9d5b2;\n                (*p_Var2)();\n                goto LAB_0009d200;\n              }\n              if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009ddfa:\n              puVar33[-2] = local_ac;\n              puVar33[-3] = local_a4;\n              puVar33[-4] = local_9c;\n              puVar33[-5] = 0x9de14;\n              VVar22 = gold::Symbol_value<32>::value<true>\n                                 ((Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n            return;\n          }\n          puVar33[-4] = local_94 + -0x672b6;\n          puVar33[-5] = 0x9e3bf;\n          uVar26 = gettext();\n          uVar16 = (rela.p_)->r_offset;\n          puVar33[-3] = local_b8;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = 0;\n          puVar33[-6] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                        uVar16 << 0x18;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n          puVar33[-9] = 0x9e3e3;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n          puVar33[-4] = local_b0;\n          puVar33[-5] = 0x9d286;\n          gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n          if (local_90 != (Symbol_table *)0x0) {\n            bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n            bVar14 = bVar30 & 7;\n            pSVar32 = local_90;\n            if ((bVar30 & 7) == 0) {\n              if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n                 (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n                pSVar29 = *(Symbol_table **)&local_90->offset_;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 != pSVar32) {\n                  puVar33[-4] = pSVar29;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d736;\n                  iVar20 = (*(code *)pSVar3)();\n                  if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }\n                  goto LAB_0009d970;\n                }\nLAB_0009d2df:\n                bVar30 = bVar30 & 7;\n                bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                bVar14 = bVar28 & 3;\n                if ((bVar28 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }\nLAB_0009d312:\n                if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }\n                goto LAB_0009d380;\n              }\nLAB_0009d63d:\n              bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              if ((bVar28 >> 4 == 2) ||\n                 (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)) {\nLAB_0009d970:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d943:\n                if (bVar14 == 0) goto LAB_0009d380;\n                bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                pSVar29 = (Symbol_table *)(uint)bVar30;\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                bVar30 = bVar30 & 7;\n                if (bVar30 != 0) goto LAB_0009d6cc;\n                goto LAB_0009d2fb;\n              }\n              pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-1] = 0;\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f447;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (p_Var2[0x49b1] != (_func_int_varargs)0x0) goto LAB_0009d970;\n              if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) < '\0') {\n                if (bVar14 != 0) goto LAB_0009d6b0;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\nLAB_0009d900:\n                pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 == pSVar32) goto LAB_0009d2df;\n                puVar33[-4] = pSVar29;\n                puVar33[-5] = 0x9d91c;\n                iVar20 = (*(code *)pSVar3)();\n                pSVar32 = local_e0;\n                if (iVar20 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                goto LAB_0009d943;\n              }\nLAB_0009d779:\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-2] = local_94 + -0x64fb7;\n                puVar33[-3] = 0x69;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f336;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              iVar20 = *(int *)p_Var2;\n              puVar33[-3] = local_90;\n              puVar33[-4] = p_Var2;\n              pcVar4 = *(code **)(iVar20 + 0x1c);\n              puVar33[-5] = 0x9d795;\n              cVar15 = (*pcVar4)();\n              if (cVar15 != '\0') goto LAB_0009d930;\n              pSVar32 = (Symbol_table *)\n                        ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (pSVar32 == (Symbol_table *)0x0) {\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f398;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              pbVar36 = (byte *)(pSVar32 + 0x2e)[1].output_count_;\n              bVar13 = false;\n              bVar40 = pbVar36 == (byte *)0x0;\n              if (bVar40) {\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d85a:\n                if ((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))\n                goto LAB_0009d874;\n                goto LAB_0009d943;\n              }\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1fa6);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar13 = *pbVar35 < *pbVar37;\n                bVar40 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar13 = (!bVar13 && !bVar40) == bVar13;\n              if (bVar13) goto LAB_0009d930;\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1f9b);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar35 < *pbVar37;\n                bVar13 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x17;\n                pbVar35 = pbVar36;\n                ppuVar38 = local_94 + -0x687e4;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar35 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar35 == *(byte *)ppuVar38;\n                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if ((!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)) {\n                  bVar40 = false;\n                  iVar20 = 0x16;\n                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;\n                }\n                goto LAB_0009d943;\n              }\nLAB_0009d874:\n              puVar33[-4] = (int)local_c4 >> 0x1f;\n              puVar33[-5] = local_c4;\n              puVar33[-6] = local_b4;\n              puVar33[-7] = relinfo;\n              puVar33[-8] = local_90;\n              puVar33[-9] = 0x9d89a;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            else {\n              if (bVar14 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n              bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              bVar14 = bVar28 & 3;\n              if ((bVar28 & 3) != 0) {\n                bVar30 = bVar30 & 7;\nLAB_0009d6cc:\n                if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }\n              }\nLAB_0009d380:\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            if ((bVar30 & 4) != 0) {\n              puVar33[-3] = (int)local_c4 >> 0x1f;\n              puVar33[-4] = local_c4;\n              puVar33[-5] = local_b4;\n              pSVar29 = relinfo->symtab;\n              puVar33[-6] = relinfo;\n              puVar33[-7] = local_90;\n              local_90 = pSVar29;\n              puVar33[-8] = &pSVar29->warnings_;\n              puVar33[-9] = 0x9d8e4;\n              gold::Warnings::issue_warning<32,_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n            }\n          }\n        }\n        puVar33[-4] = local_d0;\n        puVar33[-5] = 0x9d39e;\n        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n        puVar33[-4] = local_bc;\n        puVar33[-5] = 0x9d3aa;\n        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n        puVar34 = puVar33;\n      }\n      else {\n        *(uint *)((int)puVar34 + -4) = local_c4;\n        *(uint *)((int)puVar34 + -8) = relinfo->data_shndx;\n        *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = relinfo->object;\n        *(Output_section **)((int)puVar34 + -0x10) = output_section;\n                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */\n        *(undefined4 *)((int)puVar34 + -0x14) = 0x9dff8;\n        local_c4 = gold::Output_section::output_offset\n                             (*(Output_section **)((int)puVar34 + -0x10),\n                              *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8),\n                              *(section_offset_type *)((int)puVar34 + -4));\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }" { (labeled_statement "LAB_0009cc8a:\n        uVar16 = *(uint *)(prelocs + 4);" statement_identifier : (expression_statement "uVar16 = *(uint *)(prelocs + 4);" (assignment_expression "uVar16 = *(uint *)(prelocs + 4)" identifier = (pointer_expression "*(uint *)(prelocs + 4)" * (cast_expression "(uint *)(prelocs + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(prelocs + 4)" ( (binary_expression "prelocs + 4" identifier + number_literal) ))))) ;)) (expression_statement "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 "uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18\n        ;" (assignment_expression "uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18" identifier = (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" 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 "local_a0 = (uchar *)(uVar16 >> 8);" (assignment_expression "local_a0 = (uchar *)(uVar16 >> 8)" identifier = (cast_expression "(uchar *)(uVar16 >> 8)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar16 >> 8)" ( (binary_expression "uVar16 >> 8" identifier >> number_literal) )))) ;) (expression_statement "symval.u_.value = 0;" (assignment_expression "symval.u_.value = 0" (field_expression "symval.u_.value" (field_expression "symval.u_" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (local_a0 < local_d8) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) {\nLAB_0009ccec:\n            uVar24 = local_90->output_count_;\n            uVar16 = uVar24 - 1;\n            if (0xfffffffd < uVar16) goto LAB_0009cd01;\nLAB_0009e020:\n            if (uVar16 == 0xfffffffd) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70d;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f318;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            symval.output_symtab_index_ = uVar24;\n            goto LAB_0009cd08;\n          }\n          pSVar7 = (local_cc->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          local_90 = (Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_finish;\n          if ((uint)((int)local_90 - (int)pSVar7 >> 4) <= local_a0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8c1;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f282;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          local_9c = pSVar7 + (int)local_a0;\n          local_a4 = (Sized_relobj_file<32,_true> *)(*(uint *)&local_9c->field_0x8 & 0x7ffffff);\n          if (((local_9c->field_0xb & 8) != 0) && (local_a4 != (Sized_relobj_file<32,_true> *)0x0))\n          {\n            local_90 = (Symbol_table *)\n                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_finish;\n            ppOVar8 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((Sized_relobj_file<32,_true> *)((int)local_90 - (int)ppOVar8 >> 2) <= local_a4) {\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -4) = local_cc;\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x50b;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f42b;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            local_90 = (Symbol_table *)ppOVar8[(int)local_a4];\n            if (local_90 != (Symbol_table *)0x0) {\n              local_90 = (Symbol_table *)0x0;\n              local_bc = &symval;\n              goto LAB_0009cd80;\n            }\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -8) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n            *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9e2da;\n            bVar13 = gold::Symbol_table::is_section_folded\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8));\n            if (bVar13) {\n              local_bc = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (Symbol_table *)0x0;\n          local_bc = &symval;\nLAB_0009cd80:\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.value = 0;\n          local_d0 = &symval2;\n          puVar33 = puVar34;\n        }\n        else {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) goto LAB_0009ccec;\n          if (local_a0 < local_cc->local_symbol_count_) {\nLAB_0009f240:\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x17f;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f261;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          uVar16 = (int)local_a0 - local_cc->local_symbol_count_;\n          ppSVar9 = (local_cc->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n          local_90 = (Symbol_table *)\n                     (local_cc->symbols_).\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish;\n          if ((uint)((int)local_90 - (int)ppSVar9 >> 2) <= uVar16) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x65096;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8ad;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f2a3;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          local_90 = (Symbol_table *)ppSVar9[uVar16];\n          if (local_90 == (Symbol_table *)0x0) goto LAB_0009f240;\n          if (((local_90->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0009ccec;\n          *(Symbol_table **)((int)puVar34 + -0xc) = local_90;\n          *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)((int)puVar34 + -0x14) = 0x9e0cb;\n          local_90 = (Symbol_table *)\n                     gold::Symbol_table::resolve_forwards\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Symbol **)((int)puVar34 + -0xc));\n          uVar24 = local_90->output_count_;\n          uVar16 = uVar24 - 1;\n          if (uVar16 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70c;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f155;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            goto LAB_0009e020;\n          }\n          if (symval.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x716;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)puVar34 + -0x14) = &UNK_0009e10f;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\nLAB_0009cd01:\n          symval.output_symtab_index_ = 0xffffffff;\nLAB_0009cd08:\n          symval.u_ = (anon_union_4_2_6a937475_for_u_)(local_90->table_)._M_h._M_element_count;\n          bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar30 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar30 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n          if (-1 < (char)bVar30) {\nLAB_0009d9b8:\n            local_bc = &symval;\n            local_9c = &symval;\n            uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n            goto LAB_0009cd80;\n          }\n          uVar16 = (local_90->table_)._M_h._M_bucket_count;\n          if ((uVar16 & 0x70000) == 0) {\n            if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n               ((bVar30 & 0x20) == 0)) {\n              local_bc = &symval;\n              local_9c = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if ((uVar16 & 0x70000) != 0x40000) goto LAB_0009d9b8;\n          local_a4 = (Sized_relobj_file<32,_true> *)0x0;\n          local_9c = &symval;\nLAB_0009d9f1:\n          local_bc = &symval;\n          local_b0 = &symval_1;\n          symval2.output_symtab_index_ = 0;\n          pp_Var1 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object;\n          *(uint *)((int)puVar34 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n          local_d0 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.value = 0;\n          *(Symbol_value<32> **)((int)puVar34 + -0x10) = local_b0;\n          p_Var2 = pp_Var1[0x10];\n          *(undefined4 *)((int)puVar34 + -0x14) = 0x9da35;\n          (*p_Var2)();\n          bVar13 = false;\n          bVar40 = local_c0 == 0;\n          if (bVar40) {\n            iVar20 = 6;\n            pbVar36 = (byte *)symval_1.output_symtab_index_;\n            pbVar35 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar20 == 0) break;\n              iVar20 = iVar20 + -1;\n              bVar13 = *pbVar36 < *pbVar35;\n              bVar40 = *pbVar36 == *pbVar35;\n              pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n              pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar13 = (!bVar13 && !bVar40) == bVar13;\n            if (!bVar13) {\n              iVar20 = 7;\n              pbVar36 = (byte *)symval_1.output_symtab_index_;\n              ppuVar38 = local_94 + -0x672af;\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar36 < *(byte *)ppuVar38;\n                bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x11;\n                pbVar36 = (byte *)symval_1.output_symtab_index_;\n                ppuVar38 = local_94 + -0x672ad;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                  pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar39 = false;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if (!bVar13) {\n                  iVar20 = 5;\n                  pbVar36 = (byte *)symval_1.output_symtab_index_;\n                  pbVar35 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar39 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  bVar40 = false;\n                  bVar13 = (!bVar39 && !bVar13) == bVar39;\n                  if (!bVar13) {\n                    iVar20 = 5;\n                    pbVar36 = (byte *)symval_1.output_symtab_index_;\n                    ppuVar38 = local_94 + -0x672a7;\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);\n                    bVar39 = false;\n                    bVar13 = (!bVar40 && !bVar13) == bVar40;\n                    if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(bool **)((int)puVar34 + -8) = &found;\n            *(Symbol_value<32> **)((int)puVar34 + -0xc) = local_b0;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x10) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9da8d;\n            AVar21 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                *(uint *)((int)puVar34 + -0x10),*(string **)((int)puVar34 + -0xc),\n                                *(bool **)((int)puVar34 + -8));\n            symval2.u_ = (anon_union_4_2_6a937475_for_u_)0x0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   ((int)&((local_9c->u_).merged_symbol_value)->input_value_ + AVar21);\n            }\n            local_c0 = 1;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              pSVar5 = relinfo->object;\n              if (local_90 == (Symbol_table *)0x0) {\n                *(uchar **)((int)puVar34 + -0x10) = local_a0;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e225;\n                pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10));\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e23d;\n                uVar26 = gettext();\n                *(uchar **)((int)puVar34 + -0xc) = local_a0;\n                *(char **)((int)puVar34 + -0x10) = pcVar27;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9e265;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar34 + -0x10) = local_90;\n                *(bool **)((int)puVar34 + -0x14) = &found;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));\n                puVar12 = _found;\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d;\n                uVar26 = gettext();\n                *(undefined1 **)((int)puVar34 + -0x10) = puVar12;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar34 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;\n                  operator_delete(*(void **)((int)puVar34 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar34 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar34 + -0xc) = &value;\n              *(uchar **)((int)puVar34 + -0x10) = local_a0;\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc63;\n              uVar16 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)\n                                  ,*(bool **)((int)puVar34 + -8));\n              if (uVar16 != 0) {\n                *(uint **)((int)puVar34 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar34 + -0x10) = uVar16;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e18c;\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar34 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;\n                  pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10));\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;\n                  uVar26 = gettext();\n                  *(char **)((int)puVar34 + -0x10) = pcVar27;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;\n                  uVar26 = gettext();\n                  *(pointer *)((int)puVar34 + -0x10) = pcVar10;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            symval2.u_.value = 0;\n          }\n          puVar33 = (undefined4 *)((int)puVar34 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -0xc) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0x10) = 0x716;\n            *(int *)((int)puVar34 + -0x14) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined1 **)((int)puVar34 + -0x18) = &LAB_0009f212;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x14),*(int *)((int)puVar34 + -0x10),\n                       *(char **)((int)puVar34 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((undefined1 *)symval_1.output_symtab_index_ != &symval_1.field_0x8) {\n            *(uint *)((int)puVar34 + -0x14) = symval_1.output_symtab_index_;\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9dadb;\n            operator_delete(*(void **)((int)puVar34 + -0x14));\n          }\n          local_d0 = &symval2;\n          local_9c = &symval2;\n          uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n        }" if (parenthesized_expression "(local_a0 < local_d8)" ( (binary_expression "local_a0 < local_d8" identifier < identifier) )) (compound_statement "{\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) {\nLAB_0009ccec:\n            uVar24 = local_90->output_count_;\n            uVar16 = uVar24 - 1;\n            if (0xfffffffd < uVar16) goto LAB_0009cd01;\nLAB_0009e020:\n            if (uVar16 == 0xfffffffd) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70d;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f318;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            symval.output_symtab_index_ = uVar24;\n            goto LAB_0009cd08;\n          }\n          pSVar7 = (local_cc->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          local_90 = (Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_finish;\n          if ((uint)((int)local_90 - (int)pSVar7 >> 4) <= local_a0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8c1;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f282;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          local_9c = pSVar7 + (int)local_a0;\n          local_a4 = (Sized_relobj_file<32,_true> *)(*(uint *)&local_9c->field_0x8 & 0x7ffffff);\n          if (((local_9c->field_0xb & 8) != 0) && (local_a4 != (Sized_relobj_file<32,_true> *)0x0))\n          {\n            local_90 = (Symbol_table *)\n                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_finish;\n            ppOVar8 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((Sized_relobj_file<32,_true> *)((int)local_90 - (int)ppOVar8 >> 2) <= local_a4) {\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -4) = local_cc;\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x50b;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f42b;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            local_90 = (Symbol_table *)ppOVar8[(int)local_a4];\n            if (local_90 != (Symbol_table *)0x0) {\n              local_90 = (Symbol_table *)0x0;\n              local_bc = &symval;\n              goto LAB_0009cd80;\n            }\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -8) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n            *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9e2da;\n            bVar13 = gold::Symbol_table::is_section_folded\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8));\n            if (bVar13) {\n              local_bc = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (Symbol_table *)0x0;\n          local_bc = &symval;\nLAB_0009cd80:\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.value = 0;\n          local_d0 = &symval2;\n          puVar33 = puVar34;\n        }" { (if_statement "if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) {\nLAB_0009ccec:\n            uVar24 = local_90->output_count_;\n            uVar16 = uVar24 - 1;\n            if (0xfffffffd < uVar16) goto LAB_0009cd01;\nLAB_0009e020:\n            if (uVar16 == 0xfffffffd) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70d;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f318;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            symval.output_symtab_index_ = uVar24;\n            goto LAB_0009cd08;\n          }" if (parenthesized_expression "((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0))" ( (binary_expression "(reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (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_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)" ( (comma_expression "local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0" (subscript_expression "local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4]" (field_expression "local_90 = (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_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std" (assignment_expression "local_90 = (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_90 != (Symbol_table *)0x0" identifier != (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\nLAB_0009ccec:\n            uVar24 = local_90->output_count_;\n            uVar16 = uVar24 - 1;\n            if (0xfffffffd < uVar16) goto LAB_0009cd01;\nLAB_0009e020:\n            if (uVar16 == 0xfffffffd) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70d;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f318;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            symval.output_symtab_index_ = uVar24;\n            goto LAB_0009cd08;\n          }" { (labeled_statement "LAB_0009ccec:\n            uVar24 = local_90->output_count_;" statement_identifier : (expression_statement "uVar24 = local_90->output_count_;" (assignment_expression "uVar24 = local_90->output_count_" identifier = (field_expression "local_90->output_count_" identifier -> field_identifier)) ;)) (expression_statement "uVar16 = uVar24 - 1;" (assignment_expression "uVar16 = uVar24 - 1" identifier = (binary_expression "uVar24 - 1" identifier - number_literal)) ;) (if_statement "if (0xfffffffd < uVar16) goto LAB_0009cd01;" if (parenthesized_expression "(0xfffffffd < uVar16)" ( (binary_expression "0xfffffffd < uVar16" number_literal < identifier) )) (goto_statement "goto LAB_0009cd01;" goto statement_identifier ;)) (labeled_statement "LAB_0009e020:\n            if (uVar16 == 0xfffffffd) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70d;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f318;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }" statement_identifier : (if_statement "if (uVar16 == 0xfffffffd) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70d;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f318;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }" if (parenthesized_expression "(uVar16 == 0xfffffffd)" ( (binary_expression "uVar16 == 0xfffffffd" identifier == number_literal) )) (compound_statement "{\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70d;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f318;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }" { (expression_statement "*(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;" (assignment_expression "*(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd" (pointer_expression "*(undefined ***)((int)puVar34 + -8)" * (cast_expression "(undefined ***)((int)puVar34 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_94 + -0x650dd" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0xc) = 0x70d;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0xc) = 0x70d" (pointer_expression "*(undefined4 *)((int)puVar34 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar34 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)((int)puVar34 + -0x10)" * (cast_expression "(int *)((int)puVar34 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)((int)puVar34 + -0x14) = 0x9f318;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x14) = 0x9f318" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));" (call_expression "do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8))" identifier (argument_list "(*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8))" ( (pointer_expression "*(char **)((int)puVar34 + -0x10)" * (cast_expression "(char **)((int)puVar34 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar34 + -0xc)" * (cast_expression "(int *)((int)puVar34 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar34 + -8)" * (cast_expression "(char **)((int)puVar34 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) }))) (expression_statement "symval.output_symtab_index_ = uVar24;" (assignment_expression "symval.output_symtab_index_ = uVar24" (field_expression "symval.output_symtab_index_" identifier . field_identifier) = identifier) ;) (goto_statement "goto LAB_0009cd08;" goto statement_identifier ;) })) (expression_statement "pSVar7 = (local_cc->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;" (field_expression "pSVar7 = (local_cc->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start" (field_expression "pSVar7 = (local_cc->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl" (binary_expression "pSVar7 = (local_cc->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_" (binary_expression "pSVar7 = (local_cc->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_" (binary_expression "pSVar7 = (local_cc->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32" (binary_expression "pSVar7 = (local_cc->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold" (binary_expression "pSVar7 = (local_cc->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std" (binary_expression "pSVar7 = (local_cc->local_values_).\n                   super__Vector_base<gold::Symbol_value<32" (assignment_expression "pSVar7 = (local_cc->local_values_).\n                   super__Vector_base<gold" identifier = (binary_expression "(local_cc->local_values_).\n                   super__Vector_base<gold" (field_expression "(local_cc->local_values_).\n                   super__Vector_base" (parenthesized_expression "(local_cc->local_values_)" ( (field_expression "local_cc->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_90 = (Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_finish;" (field_expression "local_90 = (Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_finish" (field_expression "local_90 = (Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl" (binary_expression "local_90 = (Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_" (binary_expression "local_90 = (Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_" (binary_expression "local_90 = (Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32" (binary_expression "local_90 = (Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold" (binary_expression "local_90 = (Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std" (binary_expression "local_90 = (Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base<gold::Symbol_value<32" (assignment_expression "local_90 = (Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base<gold" identifier = (binary_expression "(Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base<gold" (cast_expression "(Symbol_table *)\n                     (local_cc->local_values_).\n                     super__Vector_base" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(local_cc->local_values_).\n                     super__Vector_base" (parenthesized_expression "(local_cc->local_values_)" ( (field_expression "local_cc->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_90 - (int)pSVar7 >> 4) <= local_a0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8c1;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f282;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }" if (parenthesized_expression "((uint)((int)local_90 - (int)pSVar7 >> 4) <= local_a0)" ( (binary_expression "(uint)((int)local_90 - (int)pSVar7 >> 4) <= local_a0" (call_expression "(uint)((int)local_90 - (int)pSVar7 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_90 - (int)pSVar7 >> 4)" ( (binary_expression "(int)local_90 - (int)pSVar7 >> 4" (binary_expression "(int)local_90 - (int)pSVar7" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pSVar7" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8c1;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f282;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }" { (expression_statement "*(undefined ***)((int)puVar34 + -8) = local_94 + -0x6509a;" (assignment_expression "*(undefined ***)((int)puVar34 + -8) = local_94 + -0x6509a" (pointer_expression "*(undefined ***)((int)puVar34 + -8)" * (cast_expression "(undefined ***)((int)puVar34 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_94 + -0x6509a" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0xc) = 0x8c1;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0xc) = 0x8c1" (pointer_expression "*(undefined4 *)((int)puVar34 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar34 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)((int)puVar34 + -0x10)" * (cast_expression "(int *)((int)puVar34 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar34 + -0x14) = 0x9f282;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x14) = 0x9f282" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));" (call_expression "do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8))" identifier (argument_list "(*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8))" ( (pointer_expression "*(char **)((int)puVar34 + -0x10)" * (cast_expression "(char **)((int)puVar34 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar34 + -0xc)" * (cast_expression "(int *)((int)puVar34 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar34 + -8)" * (cast_expression "(char **)((int)puVar34 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (expression_statement "local_9c = pSVar7 + (int)local_a0;" (assignment_expression "local_9c = pSVar7 + (int)local_a0" identifier = (binary_expression "pSVar7 + (int)local_a0" identifier + (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_a4 = (Sized_relobj_file<32,_true> *)(*(uint *)&local_9c->field_0x8 & 0x7ffffff);" (assignment_expression "local_a4 = (Sized_relobj_file<32,_true> *)(*(uint *)&local_9c->field_0x8 & 0x7ffffff)" identifier = (call_expression "(Sized_relobj_file<32,_true> *)(*(uint *)&local_9c->field_0x8 & 0x7ffffff)" (parenthesized_expression "(Sized_relobj_file<32,_true> *)" ( (comma_expression "Sized_relobj_file<32,_true> *" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(*(uint *)&local_9c->field_0x8 & 0x7ffffff)" ( (binary_expression "*(uint *)&local_9c->field_0x8 & 0x7ffffff" (pointer_expression "*(uint *)&local_9c->field_0x8" * (cast_expression "(uint *)&local_9c->field_0x8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_9c->field_0x8" & (field_expression "local_9c->field_0x8" identifier -> field_identifier)))) & number_literal) )))) ;) (if_statement "if (((local_9c->field_0xb & 8) != 0) && (local_a4 != (Sized_relobj_file<32,_true> *)0x0))\n          {\n            local_90 = (Symbol_table *)\n                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_finish;\n            ppOVar8 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((Sized_relobj_file<32,_true> *)((int)local_90 - (int)ppOVar8 >> 2) <= local_a4) {\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -4) = local_cc;\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x50b;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f42b;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            local_90 = (Symbol_table *)ppOVar8[(int)local_a4];\n            if (local_90 != (Symbol_table *)0x0) {\n              local_90 = (Symbol_table *)0x0;\n              local_bc = &symval;\n              goto LAB_0009cd80;\n            }\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -8) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n            *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9e2da;\n            bVar13 = gold::Symbol_table::is_section_folded\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8));\n            if (bVar13) {\n              local_bc = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }" if (parenthesized_expression "(((local_9c->field_0xb & 8) != 0) && (local_a4 != (Sized_relobj_file<32,_true> *)0x0))" ( (binary_expression "((local_9c->field_0xb & 8) != 0) && (local_a4 != (Sized_relobj_file<32,_true> *)0x0))" (parenthesized_expression "((local_9c->field_0xb & 8) != 0)" ( (binary_expression "(local_9c->field_0xb & 8) != 0" (parenthesized_expression "(local_9c->field_0xb & 8)" ( (binary_expression "local_9c->field_0xb & 8" (field_expression "local_9c->field_0xb" identifier -> field_identifier) & number_literal) )) != number_literal) )) && (parenthesized_expression "(local_a4 != (Sized_relobj_file<32,_true> *)0x0))" ( (binary_expression "local_a4 != (Sized_relobj_file<32,_true> *)0x0)" identifier != (parenthesized_expression "(Sized_relobj_file<32,_true> *)0x0)" ( (comma_expression "Sized_relobj_file<32,_true> *)0x0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) ))) )) (compound_statement "{\n            local_90 = (Symbol_table *)\n                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_finish;\n            ppOVar8 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((Sized_relobj_file<32,_true> *)((int)local_90 - (int)ppOVar8 >> 2) <= local_a4) {\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -4) = local_cc;\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x50b;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f42b;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            local_90 = (Symbol_table *)ppOVar8[(int)local_a4];\n            if (local_90 != (Symbol_table *)0x0) {\n              local_90 = (Symbol_table *)0x0;\n              local_bc = &symval;\n              goto LAB_0009cd80;\n            }\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -8) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n            *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9e2da;\n            bVar13 = gold::Symbol_table::is_section_folded\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8));\n            if (bVar13) {\n              local_bc = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }" { (expression_statement "local_90 = (Symbol_table *)\n                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_finish;" (field_expression "local_90 = (Symbol_table *)\n                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_finish" (field_expression "local_90 = (Symbol_table *)\n                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl" (binary_expression "local_90 = (Symbol_table *)\n                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "local_90 = (Symbol_table *)\n                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "local_90 = (Symbol_table *)\n                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std" (assignment_expression "local_90 = (Symbol_table *)\n                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base<gold" identifier = (binary_expression "(Symbol_table *)\n                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base<gold" (cast_expression "(Symbol_table *)\n                       (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                       super__Vector_base" (field_expression "(local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_" (field_expression "(local_cc->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(local_cc->super_Sized_relobj<32,_true>)" ( (comma_expression "local_cc->super_Sized_relobj<32,_true" (binary_expression "local_cc->super_Sized_relobj<32" (field_expression "local_cc->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 "ppOVar8 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;" (field_expression "ppOVar8 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start" (field_expression "ppOVar8 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl" (binary_expression "ppOVar8 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar8 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar8 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar8 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold" identifier = (binary_expression "(local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base<gold" (field_expression "(local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                      super__Vector_base" (field_expression "(local_cc->super_Sized_relobj<32,_true>).super_Relobj.output_sections_" (field_expression "(local_cc->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(local_cc->super_Sized_relobj<32,_true>)" ( (comma_expression "local_cc->super_Sized_relobj<32,_true" (binary_expression "local_cc->super_Sized_relobj<32" (field_expression "local_cc->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 ((Sized_relobj_file<32,_true> *)((int)local_90 - (int)ppOVar8 >> 2) <= local_a4) {\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -4) = local_cc;\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x50b;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f42b;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }" if (parenthesized_expression "((Sized_relobj_file<32,_true> *)((int)local_90 - (int)ppOVar8 >> 2) <= local_a4)" ( (binary_expression "(Sized_relobj_file<32,_true> *)((int)local_90 - (int)ppOVar8 >> 2) <= local_a4" (call_expression "(Sized_relobj_file<32,_true> *)((int)local_90 - (int)ppOVar8 >> 2)" (parenthesized_expression "(Sized_relobj_file<32,_true> *)" ( (comma_expression "Sized_relobj_file<32,_true> *" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "((int)local_90 - (int)ppOVar8 >> 2)" ( (binary_expression "(int)local_90 - (int)ppOVar8 >> 2" (binary_expression "(int)local_90 - (int)ppOVar8" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppOVar8" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -4) = local_cc;\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x50b;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f42b;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }" { (expression_statement "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -4) = local_cc;" (assignment_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -4) = local_cc" (pointer_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -4)" * (call_expression "(Sized_relobj_file<32,_true> **)((int)puVar34 + -4)" (parenthesized_expression "(Sized_relobj_file<32,_true> **)" ( (comma_expression "Sized_relobj_file<32,_true> **" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar34 + -4)" ( (binary_expression "(int)puVar34 + -4" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)puVar34 + -8) = local_94 + -0x64eff;" (assignment_expression "*(undefined ***)((int)puVar34 + -8) = local_94 + -0x64eff" (pointer_expression "*(undefined ***)((int)puVar34 + -8)" * (cast_expression "(undefined ***)((int)puVar34 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_94 + -0x64eff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0xc) = 0x50b;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0xc) = 0x50b" (pointer_expression "*(undefined4 *)((int)puVar34 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar34 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)((int)puVar34 + -0x10)" * (cast_expression "(int *)((int)puVar34 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)((int)puVar34 + -0x14) = 0x9f42b;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x14) = 0x9f42b" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));" (call_expression "do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8))" identifier (argument_list "(*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8))" ( (pointer_expression "*(char **)((int)puVar34 + -0x10)" * (cast_expression "(char **)((int)puVar34 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar34 + -0xc)" * (cast_expression "(int *)((int)puVar34 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar34 + -8)" * (cast_expression "(char **)((int)puVar34 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (expression_statement "local_90 = (Symbol_table *)ppOVar8[(int)local_a4];" (assignment_expression "local_90 = (Symbol_table *)ppOVar8[(int)local_a4]" identifier = (cast_expression "(Symbol_table *)ppOVar8[(int)local_a4]" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppOVar8[(int)local_a4]" identifier [ (cast_expression "(int)local_a4" ( (type_descriptor "int" primitive_type) ) identifier) ]))) ;) (if_statement "if (local_90 != (Symbol_table *)0x0) {\n              local_90 = (Symbol_table *)0x0;\n              local_bc = &symval;\n              goto LAB_0009cd80;\n            }" if (parenthesized_expression "(local_90 != (Symbol_table *)0x0)" ( (binary_expression "local_90 != (Symbol_table *)0x0" identifier != (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              local_90 = (Symbol_table *)0x0;\n              local_bc = &symval;\n              goto LAB_0009cd80;\n            }" { (expression_statement "local_90 = (Symbol_table *)0x0;" (assignment_expression "local_90 = (Symbol_table *)0x0" identifier = (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_bc = &symval;" (assignment_expression "local_bc = &symval" identifier = (pointer_expression "&symval" & identifier)) ;) (goto_statement "goto LAB_0009cd80;" goto statement_identifier ;) })) (expression_statement "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -8) = local_a4;" (assignment_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -8) = local_a4" (pointer_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -8)" * (call_expression "(Sized_relobj_file<32,_true> **)((int)puVar34 + -8)" (parenthesized_expression "(Sized_relobj_file<32,_true> **)" ( (comma_expression "Sized_relobj_file<32,_true> **" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;" (assignment_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc" (pointer_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc)" * (call_expression "(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc)" (parenthesized_expression "(Sized_relobj_file<32,_true> **)" ( (comma_expression "Sized_relobj_file<32,_true> **" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;" (assignment_expression "*(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab" (pointer_expression "*(Symbol_table **)((int)puVar34 + -0x10)" * (cast_expression "(Symbol_table **)((int)puVar34 + -0x10)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "relinfo->symtab" identifier -> field_identifier)) ;) comment (expression_statement "*(undefined4 *)((int)puVar34 + -0x14) = 0x9e2da;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x14) = 0x9e2da" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (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)puVar34 + -0x10),\n                                *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "is_section_folded\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8));" (call_expression "is_section_folded\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8))" identifier (argument_list "(*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8))" ( (pointer_expression "*(Symbol_table **)((int)puVar34 + -0x10)" * (cast_expression "(Symbol_table **)((int)puVar34 + -0x10)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(Relobj **)((int)puVar34 + -0xc)" * (cast_expression "(Relobj **)((int)puVar34 + -0xc)" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)puVar34 + -8)" * (cast_expression "(uint *)((int)puVar34 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) (if_statement "if (bVar13) {\n              local_bc = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }" if (parenthesized_expression "(bVar13)" ( identifier )) (compound_statement "{\n              local_bc = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }" { (expression_statement "local_bc = &symval;" (assignment_expression "local_bc = &symval" identifier = (pointer_expression "&symval" & identifier)) ;) (expression_statement "uVar16 = *(uint *)(prelocs + 4) >> 0x18;" (assignment_expression "uVar16 = *(uint *)(prelocs + 4) >> 0x18" identifier = (binary_expression "*(uint *)(prelocs + 4) >> 0x18" (pointer_expression "*(uint *)(prelocs + 4)" * (cast_expression "(uint *)(prelocs + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(prelocs + 4)" ( (binary_expression "prelocs + 4" identifier + number_literal) )))) >> number_literal)) ;) (goto_statement "goto LAB_0009cd80;" goto statement_identifier ;) })) (goto_statement "goto LAB_0009d9f1;" goto statement_identifier ;) })) (expression_statement "local_90 = (Symbol_table *)0x0;" (assignment_expression "local_90 = (Symbol_table *)0x0" identifier = (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_bc = &symval;" (assignment_expression "local_bc = &symval" identifier = (pointer_expression "&symval" & identifier)) ;) (labeled_statement "LAB_0009cd80:\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 "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_.value = 0;" (assignment_expression "symval2.u_.value = 0" (field_expression "symval2.u_.value" (field_expression "symval2.u_" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "local_d0 = &symval2;" (assignment_expression "local_d0 = &symval2" identifier = (pointer_expression "&symval2" & identifier)) ;) (expression_statement "puVar33 = puVar34;" (assignment_expression "puVar33 = puVar34" identifier = identifier) ;) }) (else_clause "else {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) goto LAB_0009ccec;\n          if (local_a0 < local_cc->local_symbol_count_) {\nLAB_0009f240:\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x17f;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f261;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          uVar16 = (int)local_a0 - local_cc->local_symbol_count_;\n          ppSVar9 = (local_cc->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n          local_90 = (Symbol_table *)\n                     (local_cc->symbols_).\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish;\n          if ((uint)((int)local_90 - (int)ppSVar9 >> 2) <= uVar16) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x65096;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8ad;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f2a3;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          local_90 = (Symbol_table *)ppSVar9[uVar16];\n          if (local_90 == (Symbol_table *)0x0) goto LAB_0009f240;\n          if (((local_90->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0009ccec;\n          *(Symbol_table **)((int)puVar34 + -0xc) = local_90;\n          *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)((int)puVar34 + -0x14) = 0x9e0cb;\n          local_90 = (Symbol_table *)\n                     gold::Symbol_table::resolve_forwards\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Symbol **)((int)puVar34 + -0xc));\n          uVar24 = local_90->output_count_;\n          uVar16 = uVar24 - 1;\n          if (uVar16 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70c;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f155;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            goto LAB_0009e020;\n          }\n          if (symval.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x716;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)puVar34 + -0x14) = &UNK_0009e10f;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\nLAB_0009cd01:\n          symval.output_symtab_index_ = 0xffffffff;\nLAB_0009cd08:\n          symval.u_ = (anon_union_4_2_6a937475_for_u_)(local_90->table_)._M_h._M_element_count;\n          bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar30 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar30 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n          if (-1 < (char)bVar30) {\nLAB_0009d9b8:\n            local_bc = &symval;\n            local_9c = &symval;\n            uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n            goto LAB_0009cd80;\n          }\n          uVar16 = (local_90->table_)._M_h._M_bucket_count;\n          if ((uVar16 & 0x70000) == 0) {\n            if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n               ((bVar30 & 0x20) == 0)) {\n              local_bc = &symval;\n              local_9c = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if ((uVar16 & 0x70000) != 0x40000) goto LAB_0009d9b8;\n          local_a4 = (Sized_relobj_file<32,_true> *)0x0;\n          local_9c = &symval;\nLAB_0009d9f1:\n          local_bc = &symval;\n          local_b0 = &symval_1;\n          symval2.output_symtab_index_ = 0;\n          pp_Var1 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object;\n          *(uint *)((int)puVar34 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n          local_d0 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.value = 0;\n          *(Symbol_value<32> **)((int)puVar34 + -0x10) = local_b0;\n          p_Var2 = pp_Var1[0x10];\n          *(undefined4 *)((int)puVar34 + -0x14) = 0x9da35;\n          (*p_Var2)();\n          bVar13 = false;\n          bVar40 = local_c0 == 0;\n          if (bVar40) {\n            iVar20 = 6;\n            pbVar36 = (byte *)symval_1.output_symtab_index_;\n            pbVar35 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar20 == 0) break;\n              iVar20 = iVar20 + -1;\n              bVar13 = *pbVar36 < *pbVar35;\n              bVar40 = *pbVar36 == *pbVar35;\n              pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n              pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar13 = (!bVar13 && !bVar40) == bVar13;\n            if (!bVar13) {\n              iVar20 = 7;\n              pbVar36 = (byte *)symval_1.output_symtab_index_;\n              ppuVar38 = local_94 + -0x672af;\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar36 < *(byte *)ppuVar38;\n                bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x11;\n                pbVar36 = (byte *)symval_1.output_symtab_index_;\n                ppuVar38 = local_94 + -0x672ad;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                  pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar39 = false;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if (!bVar13) {\n                  iVar20 = 5;\n                  pbVar36 = (byte *)symval_1.output_symtab_index_;\n                  pbVar35 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar39 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  bVar40 = false;\n                  bVar13 = (!bVar39 && !bVar13) == bVar39;\n                  if (!bVar13) {\n                    iVar20 = 5;\n                    pbVar36 = (byte *)symval_1.output_symtab_index_;\n                    ppuVar38 = local_94 + -0x672a7;\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);\n                    bVar39 = false;\n                    bVar13 = (!bVar40 && !bVar13) == bVar40;\n                    if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(bool **)((int)puVar34 + -8) = &found;\n            *(Symbol_value<32> **)((int)puVar34 + -0xc) = local_b0;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x10) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9da8d;\n            AVar21 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                *(uint *)((int)puVar34 + -0x10),*(string **)((int)puVar34 + -0xc),\n                                *(bool **)((int)puVar34 + -8));\n            symval2.u_ = (anon_union_4_2_6a937475_for_u_)0x0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   ((int)&((local_9c->u_).merged_symbol_value)->input_value_ + AVar21);\n            }\n            local_c0 = 1;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              pSVar5 = relinfo->object;\n              if (local_90 == (Symbol_table *)0x0) {\n                *(uchar **)((int)puVar34 + -0x10) = local_a0;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e225;\n                pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10));\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e23d;\n                uVar26 = gettext();\n                *(uchar **)((int)puVar34 + -0xc) = local_a0;\n                *(char **)((int)puVar34 + -0x10) = pcVar27;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9e265;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar34 + -0x10) = local_90;\n                *(bool **)((int)puVar34 + -0x14) = &found;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));\n                puVar12 = _found;\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d;\n                uVar26 = gettext();\n                *(undefined1 **)((int)puVar34 + -0x10) = puVar12;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar34 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;\n                  operator_delete(*(void **)((int)puVar34 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar34 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar34 + -0xc) = &value;\n              *(uchar **)((int)puVar34 + -0x10) = local_a0;\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc63;\n              uVar16 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)\n                                  ,*(bool **)((int)puVar34 + -8));\n              if (uVar16 != 0) {\n                *(uint **)((int)puVar34 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar34 + -0x10) = uVar16;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e18c;\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar34 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;\n                  pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10));\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;\n                  uVar26 = gettext();\n                  *(char **)((int)puVar34 + -0x10) = pcVar27;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;\n                  uVar26 = gettext();\n                  *(pointer *)((int)puVar34 + -0x10) = pcVar10;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            symval2.u_.value = 0;\n          }\n          puVar33 = (undefined4 *)((int)puVar34 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -0xc) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0x10) = 0x716;\n            *(int *)((int)puVar34 + -0x14) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined1 **)((int)puVar34 + -0x18) = &LAB_0009f212;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x14),*(int *)((int)puVar34 + -0x10),\n                       *(char **)((int)puVar34 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((undefined1 *)symval_1.output_symtab_index_ != &symval_1.field_0x8) {\n            *(uint *)((int)puVar34 + -0x14) = symval_1.output_symtab_index_;\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9dadb;\n            operator_delete(*(void **)((int)puVar34 + -0x14));\n          }\n          local_d0 = &symval2;\n          local_9c = &symval2;\n          uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n        }" else (compound_statement "{\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) goto LAB_0009ccec;\n          if (local_a0 < local_cc->local_symbol_count_) {\nLAB_0009f240:\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x17f;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f261;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          uVar16 = (int)local_a0 - local_cc->local_symbol_count_;\n          ppSVar9 = (local_cc->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n          local_90 = (Symbol_table *)\n                     (local_cc->symbols_).\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish;\n          if ((uint)((int)local_90 - (int)ppSVar9 >> 2) <= uVar16) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x65096;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8ad;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f2a3;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\n          local_90 = (Symbol_table *)ppSVar9[uVar16];\n          if (local_90 == (Symbol_table *)0x0) goto LAB_0009f240;\n          if (((local_90->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0009ccec;\n          *(Symbol_table **)((int)puVar34 + -0xc) = local_90;\n          *(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */\n          *(undefined4 *)((int)puVar34 + -0x14) = 0x9e0cb;\n          local_90 = (Symbol_table *)\n                     gold::Symbol_table::resolve_forwards\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Symbol **)((int)puVar34 + -0xc));\n          uVar24 = local_90->output_count_;\n          uVar16 = uVar24 - 1;\n          if (uVar16 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70c;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f155;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            goto LAB_0009e020;\n          }\n          if (symval.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x716;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)puVar34 + -0x14) = &UNK_0009e10f;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }\nLAB_0009cd01:\n          symval.output_symtab_index_ = 0xffffffff;\nLAB_0009cd08:\n          symval.u_ = (anon_union_4_2_6a937475_for_u_)(local_90->table_)._M_h._M_element_count;\n          bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar30 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar30 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n          if (-1 < (char)bVar30) {\nLAB_0009d9b8:\n            local_bc = &symval;\n            local_9c = &symval;\n            uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n            goto LAB_0009cd80;\n          }\n          uVar16 = (local_90->table_)._M_h._M_bucket_count;\n          if ((uVar16 & 0x70000) == 0) {\n            if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n               ((bVar30 & 0x20) == 0)) {\n              local_bc = &symval;\n              local_9c = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if ((uVar16 & 0x70000) != 0x40000) goto LAB_0009d9b8;\n          local_a4 = (Sized_relobj_file<32,_true> *)0x0;\n          local_9c = &symval;\nLAB_0009d9f1:\n          local_bc = &symval;\n          local_b0 = &symval_1;\n          symval2.output_symtab_index_ = 0;\n          pp_Var1 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object;\n          *(uint *)((int)puVar34 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;\n          local_d0 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.value = 0;\n          *(Symbol_value<32> **)((int)puVar34 + -0x10) = local_b0;\n          p_Var2 = pp_Var1[0x10];\n          *(undefined4 *)((int)puVar34 + -0x14) = 0x9da35;\n          (*p_Var2)();\n          bVar13 = false;\n          bVar40 = local_c0 == 0;\n          if (bVar40) {\n            iVar20 = 6;\n            pbVar36 = (byte *)symval_1.output_symtab_index_;\n            pbVar35 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar20 == 0) break;\n              iVar20 = iVar20 + -1;\n              bVar13 = *pbVar36 < *pbVar35;\n              bVar40 = *pbVar36 == *pbVar35;\n              pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n              pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar13 = (!bVar13 && !bVar40) == bVar13;\n            if (!bVar13) {\n              iVar20 = 7;\n              pbVar36 = (byte *)symval_1.output_symtab_index_;\n              ppuVar38 = local_94 + -0x672af;\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar36 < *(byte *)ppuVar38;\n                bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x11;\n                pbVar36 = (byte *)symval_1.output_symtab_index_;\n                ppuVar38 = local_94 + -0x672ad;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                  pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar39 = false;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if (!bVar13) {\n                  iVar20 = 5;\n                  pbVar36 = (byte *)symval_1.output_symtab_index_;\n                  pbVar35 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar39 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  bVar40 = false;\n                  bVar13 = (!bVar39 && !bVar13) == bVar39;\n                  if (!bVar13) {\n                    iVar20 = 5;\n                    pbVar36 = (byte *)symval_1.output_symtab_index_;\n                    ppuVar38 = local_94 + -0x672a7;\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);\n                    bVar39 = false;\n                    bVar13 = (!bVar40 && !bVar13) == bVar40;\n                    if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(bool **)((int)puVar34 + -8) = &found;\n            *(Symbol_value<32> **)((int)puVar34 + -0xc) = local_b0;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x10) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9da8d;\n            AVar21 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                *(uint *)((int)puVar34 + -0x10),*(string **)((int)puVar34 + -0xc),\n                                *(bool **)((int)puVar34 + -8));\n            symval2.u_ = (anon_union_4_2_6a937475_for_u_)0x0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   ((int)&((local_9c->u_).merged_symbol_value)->input_value_ + AVar21);\n            }\n            local_c0 = 1;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              pSVar5 = relinfo->object;\n              if (local_90 == (Symbol_table *)0x0) {\n                *(uchar **)((int)puVar34 + -0x10) = local_a0;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e225;\n                pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10));\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e23d;\n                uVar26 = gettext();\n                *(uchar **)((int)puVar34 + -0xc) = local_a0;\n                *(char **)((int)puVar34 + -0x10) = pcVar27;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9e265;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar34 + -0x10) = local_90;\n                *(bool **)((int)puVar34 + -0x14) = &found;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));\n                puVar12 = _found;\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d;\n                uVar26 = gettext();\n                *(undefined1 **)((int)puVar34 + -0x10) = puVar12;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar34 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;\n                  operator_delete(*(void **)((int)puVar34 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar34 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar34 + -0xc) = &value;\n              *(uchar **)((int)puVar34 + -0x10) = local_a0;\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc63;\n              uVar16 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)\n                                  ,*(bool **)((int)puVar34 + -8));\n              if (uVar16 != 0) {\n                *(uint **)((int)puVar34 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar34 + -0x10) = uVar16;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e18c;\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar34 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;\n                  pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10));\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;\n                  uVar26 = gettext();\n                  *(char **)((int)puVar34 + -0x10) = pcVar27;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;\n                  uVar26 = gettext();\n                  *(pointer *)((int)puVar34 + -0x10) = pcVar10;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            symval2.u_.value = 0;\n          }\n          puVar33 = (undefined4 *)((int)puVar34 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -0xc) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0x10) = 0x716;\n            *(int *)((int)puVar34 + -0x14) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined1 **)((int)puVar34 + -0x18) = &LAB_0009f212;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x14),*(int *)((int)puVar34 + -0x10),\n                       *(char **)((int)puVar34 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((undefined1 *)symval_1.output_symtab_index_ != &symval_1.field_0x8) {\n            *(uint *)((int)puVar34 + -0x14) = symval_1.output_symtab_index_;\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9dadb;\n            operator_delete(*(void **)((int)puVar34 + -0x14));\n          }\n          local_d0 = &symval2;\n          local_9c = &symval2;\n          uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n        }" { (if_statement "if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)) goto LAB_0009ccec;" if (parenthesized_expression "((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0))" ( (binary_expression "(reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (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_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0)" ( (comma_expression "local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4], local_90 != (Symbol_table *)0x0" (subscript_expression "local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_b4]" (field_expression "local_90 = (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_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "local_90 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std" (assignment_expression "local_90 = (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_90 != (Symbol_table *)0x0" identifier != (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0009ccec;" goto statement_identifier ;)) (if_statement "if (local_a0 < local_cc->local_symbol_count_) {\nLAB_0009f240:\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x17f;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f261;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }" if (parenthesized_expression "(local_a0 < local_cc->local_symbol_count_)" ( (binary_expression "local_a0 < local_cc->local_symbol_count_" identifier < (field_expression "local_cc->local_symbol_count_" identifier -> field_identifier)) )) (compound_statement "{\nLAB_0009f240:\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x17f;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f261;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }" { (labeled_statement "LAB_0009f240:\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650d7;" statement_identifier : (expression_statement "*(undefined ***)((int)puVar34 + -8) = local_94 + -0x650d7;" (assignment_expression "*(undefined ***)((int)puVar34 + -8) = local_94 + -0x650d7" (pointer_expression "*(undefined ***)((int)puVar34 + -8)" * (cast_expression "(undefined ***)((int)puVar34 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_94 + -0x650d7" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar34 + -0xc) = 0x17f;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0xc) = 0x17f" (pointer_expression "*(undefined4 *)((int)puVar34 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar34 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cb27;" (assignment_expression "*(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cb27" (pointer_expression "*(int *)((int)puVar34 + -0x10)" * (cast_expression "(int *)((int)puVar34 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cb27" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)((int)puVar34 + -0x14) = 0x9f261;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x14) = 0x9f261" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));" (call_expression "do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8))" identifier (argument_list "(*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8))" ( (pointer_expression "*(char **)((int)puVar34 + -0x10)" * (cast_expression "(char **)((int)puVar34 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar34 + -0xc)" * (cast_expression "(int *)((int)puVar34 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar34 + -8)" * (cast_expression "(char **)((int)puVar34 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (expression_statement "uVar16 = (int)local_a0 - local_cc->local_symbol_count_;" (assignment_expression "uVar16 = (int)local_a0 - local_cc->local_symbol_count_" identifier = (binary_expression "(int)local_a0 - local_cc->local_symbol_count_" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) - (field_expression "local_cc->local_symbol_count_" identifier -> field_identifier))) ;) (expression_statement "ppSVar9 = (local_cc->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;" (field_expression "ppSVar9 = (local_cc->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start" (field_expression "ppSVar9 = (local_cc->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "ppSVar9 = (local_cc->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "ppSVar9 = (local_cc->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "ppSVar9 = (local_cc->symbols_).\n                    super__Vector_base<gold::Symbol*,_std" (assignment_expression "ppSVar9 = (local_cc->symbols_).\n                    super__Vector_base<gold" identifier = (binary_expression "(local_cc->symbols_).\n                    super__Vector_base<gold" (field_expression "(local_cc->symbols_).\n                    super__Vector_base" (parenthesized_expression "(local_cc->symbols_)" ( (field_expression "local_cc->symbols_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "local_90 = (Symbol_table *)\n                     (local_cc->symbols_).\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish;" (field_expression "local_90 = (Symbol_table *)\n                     (local_cc->symbols_).\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish" (field_expression "local_90 = (Symbol_table *)\n                     (local_cc->symbols_).\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "local_90 = (Symbol_table *)\n                     (local_cc->symbols_).\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "local_90 = (Symbol_table *)\n                     (local_cc->symbols_).\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "local_90 = (Symbol_table *)\n                     (local_cc->symbols_).\n                     super__Vector_base<gold::Symbol*,_std" (assignment_expression "local_90 = (Symbol_table *)\n                     (local_cc->symbols_).\n                     super__Vector_base<gold" identifier = (binary_expression "(Symbol_table *)\n                     (local_cc->symbols_).\n                     super__Vector_base<gold" (cast_expression "(Symbol_table *)\n                     (local_cc->symbols_).\n                     super__Vector_base" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(local_cc->symbols_).\n                     super__Vector_base" (parenthesized_expression "(local_cc->symbols_)" ( (field_expression "local_cc->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_90 - (int)ppSVar9 >> 2) <= uVar16) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x65096;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8ad;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f2a3;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }" if (parenthesized_expression "((uint)((int)local_90 - (int)ppSVar9 >> 2) <= uVar16)" ( (binary_expression "(uint)((int)local_90 - (int)ppSVar9 >> 2) <= uVar16" (call_expression "(uint)((int)local_90 - (int)ppSVar9 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_90 - (int)ppSVar9 >> 2)" ( (binary_expression "(int)local_90 - (int)ppSVar9 >> 2" (binary_expression "(int)local_90 - (int)ppSVar9" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppSVar9" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x65096;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x8ad;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar34 + -0x14) = 0x9f2a3;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }" { (expression_statement "*(undefined ***)((int)puVar34 + -8) = local_94 + -0x65096;" (assignment_expression "*(undefined ***)((int)puVar34 + -8) = local_94 + -0x65096" (pointer_expression "*(undefined ***)((int)puVar34 + -8)" * (cast_expression "(undefined ***)((int)puVar34 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_94 + -0x65096" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0xc) = 0x8ad;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0xc) = 0x8ad" (pointer_expression "*(undefined4 *)((int)puVar34 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar34 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)((int)puVar34 + -0x10)" * (cast_expression "(int *)((int)puVar34 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar34 + -0x14) = 0x9f2a3;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x14) = 0x9f2a3" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));" (call_expression "do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8))" identifier (argument_list "(*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8))" ( (pointer_expression "*(char **)((int)puVar34 + -0x10)" * (cast_expression "(char **)((int)puVar34 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar34 + -0xc)" * (cast_expression "(int *)((int)puVar34 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar34 + -8)" * (cast_expression "(char **)((int)puVar34 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (expression_statement "local_90 = (Symbol_table *)ppSVar9[uVar16];" (assignment_expression "local_90 = (Symbol_table *)ppSVar9[uVar16]" identifier = (cast_expression "(Symbol_table *)ppSVar9[uVar16]" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppSVar9[uVar16]" identifier [ identifier ]))) ;) (if_statement "if (local_90 == (Symbol_table *)0x0) goto LAB_0009f240;" if (parenthesized_expression "(local_90 == (Symbol_table *)0x0)" ( (binary_expression "local_90 == (Symbol_table *)0x0" identifier == (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009f240;" goto statement_identifier ;)) (if_statement "if (((local_90->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0009ccec;" if (parenthesized_expression "(((local_90->table_)._M_h._M_bucket_count & 0x100000) == 0)" ( (binary_expression "((local_90->table_)._M_h._M_bucket_count & 0x100000) == 0" (parenthesized_expression "((local_90->table_)._M_h._M_bucket_count & 0x100000)" ( (binary_expression "(local_90->table_)._M_h._M_bucket_count & 0x100000" (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009ccec;" goto statement_identifier ;)) (expression_statement "*(Symbol_table **)((int)puVar34 + -0xc) = local_90;" (assignment_expression "*(Symbol_table **)((int)puVar34 + -0xc) = local_90" (pointer_expression "*(Symbol_table **)((int)puVar34 + -0xc)" * (cast_expression "(Symbol_table **)((int)puVar34 + -0xc)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab;" (assignment_expression "*(Symbol_table **)((int)puVar34 + -0x10) = relinfo->symtab" (pointer_expression "*(Symbol_table **)((int)puVar34 + -0x10)" * (cast_expression "(Symbol_table **)((int)puVar34 + -0x10)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "relinfo->symtab" identifier -> field_identifier)) ;) comment (expression_statement "*(undefined4 *)((int)puVar34 + -0x14) = 0x9e0cb;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x14) = 0x9e0cb" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "local_90 = (Symbol_table *)\n                     gold::" (assignment_expression "local_90 = (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)puVar34 + -0x10),\n                                *(Symbol **)((int)puVar34 + -0xc));" statement_identifier : (ERROR ":" :) (expression_statement "resolve_forwards\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Symbol **)((int)puVar34 + -0xc));" (call_expression "resolve_forwards\n                               (*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Symbol **)((int)puVar34 + -0xc))" identifier (argument_list "(*(Symbol_table **)((int)puVar34 + -0x10),\n                                *(Symbol **)((int)puVar34 + -0xc))" ( (pointer_expression "*(Symbol_table **)((int)puVar34 + -0x10)" * (cast_expression "(Symbol_table **)((int)puVar34 + -0x10)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(Symbol **)((int)puVar34 + -0xc)" * (cast_expression "(Symbol **)((int)puVar34 + -0xc)" ( (type_descriptor "Symbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) (expression_statement "uVar24 = local_90->output_count_;" (assignment_expression "uVar24 = local_90->output_count_" identifier = (field_expression "local_90->output_count_" identifier -> field_identifier)) ;) (expression_statement "uVar16 = uVar24 - 1;" (assignment_expression "uVar16 = uVar24 - 1" identifier = (binary_expression "uVar24 - 1" identifier - number_literal)) ;) (if_statement "if (uVar16 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70c;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f155;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            goto LAB_0009e020;\n          }" if (parenthesized_expression "(uVar16 < 0xfffffffe)" ( (binary_expression "uVar16 < 0xfffffffe" identifier < number_literal) )) (compound_statement "{\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70c;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f155;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }\n            goto LAB_0009e020;\n          }" { (if_statement "if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70c;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f155;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -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)puVar34 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)((int)puVar34 + -0xc) = 0x70c;\n              *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */\n              *(undefined4 *)((int)puVar34 + -0x14) = 0x9f155;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));\n            }" { (expression_statement "*(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd;" (assignment_expression "*(undefined ***)((int)puVar34 + -8) = local_94 + -0x650dd" (pointer_expression "*(undefined ***)((int)puVar34 + -8)" * (cast_expression "(undefined ***)((int)puVar34 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_94 + -0x650dd" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0xc) = 0x70c;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0xc) = 0x70c" (pointer_expression "*(undefined4 *)((int)puVar34 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar34 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)((int)puVar34 + -0x10)" * (cast_expression "(int *)((int)puVar34 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)((int)puVar34 + -0x14) = 0x9f155;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x14) = 0x9f155" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8));" (call_expression "do_gold_unreachable\n                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8))" identifier (argument_list "(*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                         *(char **)((int)puVar34 + -8))" ( (pointer_expression "*(char **)((int)puVar34 + -0x10)" * (cast_expression "(char **)((int)puVar34 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar34 + -0xc)" * (cast_expression "(int *)((int)puVar34 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar34 + -8)" * (cast_expression "(char **)((int)puVar34 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (goto_statement "goto LAB_0009e020;" goto statement_identifier ;) })) (if_statement "if (symval.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x716;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)puVar34 + -0x14) = &UNK_0009e10f;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -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)puVar34 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0xc) = 0x716;\n            *(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)puVar34 + -0x14) = &UNK_0009e10f;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));\n          }" { (expression_statement "*(undefined ***)((int)puVar34 + -8) = local_94 + -0x650e4;" (assignment_expression "*(undefined ***)((int)puVar34 + -8) = local_94 + -0x650e4" (pointer_expression "*(undefined ***)((int)puVar34 + -8)" * (cast_expression "(undefined ***)((int)puVar34 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_94 + -0x650e4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0xc) = 0x716;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0xc) = 0x716" (pointer_expression "*(undefined4 *)((int)puVar34 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar34 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)((int)puVar34 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)((int)puVar34 + -0x10)" * (cast_expression "(int *)((int)puVar34 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)((int)puVar34 + -0x14) = &UNK_0009e10f;" (assignment_expression "*(undefined **)((int)puVar34 + -0x14) = &UNK_0009e10f" (pointer_expression "*(undefined **)((int)puVar34 + -0x14)" * (cast_expression "(undefined **)((int)puVar34 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_0009e10f" & identifier)) ;) (labeled_statement "gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8));" (call_expression "do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8))" identifier (argument_list "(*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),\n                       *(char **)((int)puVar34 + -8))" ( (pointer_expression "*(char **)((int)puVar34 + -0x10)" * (cast_expression "(char **)((int)puVar34 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar34 + -0xc)" * (cast_expression "(int *)((int)puVar34 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar34 + -8)" * (cast_expression "(char **)((int)puVar34 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (labeled_statement "LAB_0009cd01:\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) ;)) (labeled_statement "LAB_0009cd08:\n          symval.u_ = (anon_union_4_2_6a937475_for_u_)(local_90->table_)._M_h._M_element_count;" statement_identifier : (expression_statement "symval.u_ = (anon_union_4_2_6a937475_for_u_)(local_90->table_)._M_h._M_element_count;" (assignment_expression "symval.u_ = (anon_union_4_2_6a937475_for_u_)(local_90->table_)._M_h._M_element_count" (field_expression "symval.u_" identifier . field_identifier) = (field_expression "(anon_union_4_2_6a937475_for_u_)(local_90->table_)._M_h._M_element_count" (field_expression "(anon_union_4_2_6a937475_for_u_)(local_90->table_)._M_h" (call_expression "(anon_union_4_2_6a937475_for_u_)(local_90->table_)" (parenthesized_expression "(anon_union_4_2_6a937475_for_u_)" ( identifier )) (argument_list "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;)) (expression_statement "bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count & 0xf;" (assignment_expression "bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count & 0xf" identifier = (binary_expression "(byte)(local_90->table_)._M_h._M_bucket_count & 0xf" (field_expression "(byte)(local_90->table_)._M_h._M_bucket_count" (field_expression "(byte)(local_90->table_)._M_h" (call_expression "(byte)(local_90->table_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) & number_literal)) ;) (if_statement "if (bVar30 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar30 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }" if (parenthesized_expression "(bVar30 == 6)" ( (binary_expression "bVar30 == 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 (bVar30 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }" else (if_statement "if (bVar30 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }" if (parenthesized_expression "(bVar30 == 10)" ( (binary_expression "bVar30 == 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 "bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);" (assignment_expression "bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" * (cast_expression "(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_90->table_)._M_h._M_bucket_count + 3)" ( (binary_expression "(int)&(local_90->table_)._M_h._M_bucket_count + 3" (cast_expression "(int)&(local_90->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_90->table_)._M_h._M_bucket_count" & (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if (-1 < (char)bVar30) {\nLAB_0009d9b8:\n            local_bc = &symval;\n            local_9c = &symval;\n            uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n            goto LAB_0009cd80;\n          }" if (parenthesized_expression "(-1 < (char)bVar30)" ( (binary_expression "-1 < (char)bVar30" number_literal < (cast_expression "(char)bVar30" ( (type_descriptor "char" primitive_type) ) identifier)) )) (compound_statement "{\nLAB_0009d9b8:\n            local_bc = &symval;\n            local_9c = &symval;\n            uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n            goto LAB_0009cd80;\n          }" { (labeled_statement "LAB_0009d9b8:\n            local_bc = &symval;" statement_identifier : (expression_statement "local_bc = &symval;" (assignment_expression "local_bc = &symval" identifier = (pointer_expression "&symval" & identifier)) ;)) (expression_statement "local_9c = &symval;" (assignment_expression "local_9c = &symval" identifier = (pointer_expression "&symval" & identifier)) ;) (expression_statement "uVar16 = *(uint *)(prelocs + 4) >> 0x18;" (assignment_expression "uVar16 = *(uint *)(prelocs + 4) >> 0x18" identifier = (binary_expression "*(uint *)(prelocs + 4) >> 0x18" (pointer_expression "*(uint *)(prelocs + 4)" * (cast_expression "(uint *)(prelocs + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(prelocs + 4)" ( (binary_expression "prelocs + 4" identifier + number_literal) )))) >> number_literal)) ;) (goto_statement "goto LAB_0009cd80;" goto statement_identifier ;) })) (expression_statement "uVar16 = (local_90->table_)._M_h._M_bucket_count;" (assignment_expression "uVar16 = (local_90->table_)._M_h._M_bucket_count" identifier = (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((uVar16 & 0x70000) == 0) {\n            if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n               ((bVar30 & 0x20) == 0)) {\n              local_bc = &symval;\n              local_9c = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if ((uVar16 & 0x70000) != 0x40000) goto LAB_0009d9b8;" if (parenthesized_expression "((uVar16 & 0x70000) == 0)" ( (binary_expression "(uVar16 & 0x70000) == 0" (parenthesized_expression "(uVar16 & 0x70000)" ( (binary_expression "uVar16 & 0x70000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n               ((bVar30 & 0x20) == 0)) {\n              local_bc = &symval;\n              local_9c = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }" { (if_statement "if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n               ((bVar30 & 0x20) == 0)) {\n              local_bc = &symval;\n              local_9c = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }" if (parenthesized_expression "((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n               ((bVar30 & 0x20) == 0))" ( (binary_expression "(((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n               ((bVar30 & 0x20) == 0)" (parenthesized_expression "(((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0)" ( (binary_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0" (field_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)((int)&local_90->offset_ + 4))->_M_allocated_capacity" (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)((int)&local_90->offset_ + 4))" ( (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)((int)&local_90->offset_ + 4)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)" ( (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" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "((int)&local_90->offset_ + 4)" ( (binary_expression "(int)&local_90->offset_ + 4" (cast_expression "(int)&local_90->offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_90->offset_" & (field_expression "local_90->offset_" identifier -> field_identifier))) + number_literal) ))) )) -> field_identifier) != number_literal) )) || (parenthesized_expression "((bVar30 & 0x20) == 0)" ( (binary_expression "(bVar30 & 0x20) == 0" (parenthesized_expression "(bVar30 & 0x20)" ( (binary_expression "bVar30 & 0x20" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              local_bc = &symval;\n              local_9c = &symval;\n              uVar16 = *(uint *)(prelocs + 4) >> 0x18;\n              goto LAB_0009cd80;\n            }" { (expression_statement "local_bc = &symval;" (assignment_expression "local_bc = &symval" identifier = (pointer_expression "&symval" & identifier)) ;) (expression_statement "local_9c = &symval;" (assignment_expression "local_9c = &symval" identifier = (pointer_expression "&symval" & identifier)) ;) (expression_statement "uVar16 = *(uint *)(prelocs + 4) >> 0x18;" (assignment_expression "uVar16 = *(uint *)(prelocs + 4) >> 0x18" identifier = (binary_expression "*(uint *)(prelocs + 4) >> 0x18" (pointer_expression "*(uint *)(prelocs + 4)" * (cast_expression "(uint *)(prelocs + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(prelocs + 4)" ( (binary_expression "prelocs + 4" identifier + number_literal) )))) >> number_literal)) ;) (goto_statement "goto LAB_0009cd80;" goto statement_identifier ;) })) }) (else_clause "else if ((uVar16 & 0x70000) != 0x40000) goto LAB_0009d9b8;" else (if_statement "if ((uVar16 & 0x70000) != 0x40000) goto LAB_0009d9b8;" if (parenthesized_expression "((uVar16 & 0x70000) != 0x40000)" ( (binary_expression "(uVar16 & 0x70000) != 0x40000" (parenthesized_expression "(uVar16 & 0x70000)" ( (binary_expression "uVar16 & 0x70000" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009d9b8;" goto statement_identifier ;)))) (expression_statement "local_a4 = (Sized_relobj_file<32,_true> *)0x0;" (assignment_expression "local_a4 = (Sized_relobj_file<32,_true> *)0x0" identifier = (parenthesized_expression "(Sized_relobj_file<32,_true> *)0x0" ( (comma_expression "Sized_relobj_file<32,_true> *)0x0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) ;) (expression_statement "local_9c = &symval;" (assignment_expression "local_9c = &symval" identifier = (pointer_expression "&symval" & identifier)) ;) (labeled_statement "LAB_0009d9f1:\n          local_bc = &symval;" statement_identifier : (expression_statement "local_bc = &symval;" (assignment_expression "local_bc = &symval" identifier = (pointer_expression "&symval" & identifier)) ;)) (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & 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_Var1 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object;" (assignment_expression "pp_Var1 = (local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object" identifier = (field_expression "(local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object" (field_expression "(local_cc->super_Sized_relobj<32,_true>).super_Relobj.super_Object" (field_expression "(local_cc->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(local_cc->super_Sized_relobj<32,_true>)" ( (comma_expression "local_cc->super_Sized_relobj<32,_true" (binary_expression "local_cc->super_Sized_relobj<32" (field_expression "local_cc->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "*(uint *)((int)puVar34 + -8) = relinfo->data_shndx;" (assignment_expression "*(uint *)((int)puVar34 + -8) = relinfo->data_shndx" (pointer_expression "*(uint *)((int)puVar34 + -8)" * (cast_expression "(uint *)((int)puVar34 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "relinfo->data_shndx" identifier -> field_identifier)) ;) (expression_statement "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc;" (assignment_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = local_cc" (pointer_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc)" * (call_expression "(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc)" (parenthesized_expression "(Sized_relobj_file<32,_true> **)" ( (comma_expression "Sized_relobj_file<32,_true> **" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_d0 = &symval2;" (assignment_expression "local_d0 = &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_.value = 0;" (assignment_expression "symval2.u_.value = 0" (field_expression "symval2.u_.value" (field_expression "symval2.u_" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "*(Symbol_value<32> **)((int)puVar34 + -0x10) = local_b0;" (assignment_expression "*(Symbol_value<32> **)((int)puVar34 + -0x10) = local_b0" (pointer_expression "*(Symbol_value<32> **)((int)puVar34 + -0x10)" * (call_expression "(Symbol_value<32> **)((int)puVar34 + -0x10)" (parenthesized_expression "(Symbol_value<32> **)" ( (binary_expression "Symbol_value<32> **" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "p_Var2 = pp_Var1[0x10];" (assignment_expression "p_Var2 = pp_Var1[0x10]" identifier = (subscript_expression "pp_Var1[0x10]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0x14) = 0x9da35;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x14) = 0x9da35" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*p_Var2)();" (call_expression "(*p_Var2)()" (parenthesized_expression "(*p_Var2)" ( (pointer_expression "*p_Var2" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar40 = local_c0 == 0;" (assignment_expression "bVar40 = local_c0 == 0" identifier = (binary_expression "local_c0 == 0" identifier == number_literal)) ;) (if_statement "if (bVar40) {\n            iVar20 = 6;\n            pbVar36 = (byte *)symval_1.output_symtab_index_;\n            pbVar35 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar20 == 0) break;\n              iVar20 = iVar20 + -1;\n              bVar13 = *pbVar36 < *pbVar35;\n              bVar40 = *pbVar36 == *pbVar35;\n              pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n              pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar13 = (!bVar13 && !bVar40) == bVar13;\n            if (!bVar13) {\n              iVar20 = 7;\n              pbVar36 = (byte *)symval_1.output_symtab_index_;\n              ppuVar38 = local_94 + -0x672af;\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar36 < *(byte *)ppuVar38;\n                bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x11;\n                pbVar36 = (byte *)symval_1.output_symtab_index_;\n                ppuVar38 = local_94 + -0x672ad;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                  pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar39 = false;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if (!bVar13) {\n                  iVar20 = 5;\n                  pbVar36 = (byte *)symval_1.output_symtab_index_;\n                  pbVar35 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar39 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  bVar40 = false;\n                  bVar13 = (!bVar39 && !bVar13) == bVar39;\n                  if (!bVar13) {\n                    iVar20 = 5;\n                    pbVar36 = (byte *)symval_1.output_symtab_index_;\n                    ppuVar38 = local_94 + -0x672a7;\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);\n                    bVar39 = false;\n                    bVar13 = (!bVar40 && !bVar13) == bVar40;\n                    if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(bool **)((int)puVar34 + -8) = &found;\n            *(Symbol_value<32> **)((int)puVar34 + -0xc) = local_b0;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x10) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9da8d;\n            AVar21 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                *(uint *)((int)puVar34 + -0x10),*(string **)((int)puVar34 + -0xc),\n                                *(bool **)((int)puVar34 + -8));\n            symval2.u_ = (anon_union_4_2_6a937475_for_u_)0x0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   ((int)&((local_9c->u_).merged_symbol_value)->input_value_ + AVar21);\n            }\n            local_c0 = 1;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              pSVar5 = relinfo->object;\n              if (local_90 == (Symbol_table *)0x0) {\n                *(uchar **)((int)puVar34 + -0x10) = local_a0;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e225;\n                pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10));\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e23d;\n                uVar26 = gettext();\n                *(uchar **)((int)puVar34 + -0xc) = local_a0;\n                *(char **)((int)puVar34 + -0x10) = pcVar27;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9e265;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar34 + -0x10) = local_90;\n                *(bool **)((int)puVar34 + -0x14) = &found;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));\n                puVar12 = _found;\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d;\n                uVar26 = gettext();\n                *(undefined1 **)((int)puVar34 + -0x10) = puVar12;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar34 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;\n                  operator_delete(*(void **)((int)puVar34 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar34 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar34 + -0xc) = &value;\n              *(uchar **)((int)puVar34 + -0x10) = local_a0;\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc63;\n              uVar16 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)\n                                  ,*(bool **)((int)puVar34 + -8));\n              if (uVar16 != 0) {\n                *(uint **)((int)puVar34 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar34 + -0x10) = uVar16;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e18c;\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar34 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;\n                  pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10));\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;\n                  uVar26 = gettext();\n                  *(char **)((int)puVar34 + -0x10) = pcVar27;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;\n                  uVar26 = gettext();\n                  *(pointer *)((int)puVar34 + -0x10) = pcVar10;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            symval2.u_.value = 0;\n          }" if (parenthesized_expression "(bVar40)" ( identifier )) (compound_statement "{\n            iVar20 = 6;\n            pbVar36 = (byte *)symval_1.output_symtab_index_;\n            pbVar35 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar20 == 0) break;\n              iVar20 = iVar20 + -1;\n              bVar13 = *pbVar36 < *pbVar35;\n              bVar40 = *pbVar36 == *pbVar35;\n              pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n              pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar13 = (!bVar13 && !bVar40) == bVar13;\n            if (!bVar13) {\n              iVar20 = 7;\n              pbVar36 = (byte *)symval_1.output_symtab_index_;\n              ppuVar38 = local_94 + -0x672af;\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar36 < *(byte *)ppuVar38;\n                bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x11;\n                pbVar36 = (byte *)symval_1.output_symtab_index_;\n                ppuVar38 = local_94 + -0x672ad;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                  pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar39 = false;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if (!bVar13) {\n                  iVar20 = 5;\n                  pbVar36 = (byte *)symval_1.output_symtab_index_;\n                  pbVar35 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar39 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  bVar40 = false;\n                  bVar13 = (!bVar39 && !bVar13) == bVar39;\n                  if (!bVar13) {\n                    iVar20 = 5;\n                    pbVar36 = (byte *)symval_1.output_symtab_index_;\n                    ppuVar38 = local_94 + -0x672a7;\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);\n                    bVar39 = false;\n                    bVar13 = (!bVar40 && !bVar13) == bVar40;\n                    if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(bool **)((int)puVar34 + -8) = &found;\n            *(Symbol_value<32> **)((int)puVar34 + -0xc) = local_b0;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x10) = local_a4;\n            *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = local_cc;\n                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9da8d;\n            AVar21 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                *(uint *)((int)puVar34 + -0x10),*(string **)((int)puVar34 + -0xc),\n                                *(bool **)((int)puVar34 + -8));\n            symval2.u_ = (anon_union_4_2_6a937475_for_u_)0x0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   ((int)&((local_9c->u_).merged_symbol_value)->input_value_ + AVar21);\n            }\n            local_c0 = 1;\n          }" { (expression_statement "iVar20 = 6;" (assignment_expression "iVar20 = 6" identifier = number_literal) ;) (expression_statement "pbVar36 = (byte *)symval_1.output_symtab_index_;" (assignment_expression "pbVar36 = (byte *)symval_1.output_symtab_index_" identifier = (cast_expression "(byte *)symval_1.output_symtab_index_" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "symval_1.output_symtab_index_" identifier . field_identifier))) ;) (expression_statement "pbVar35 = (byte *)((int)local_94 + -0x19cac3);" (assignment_expression "pbVar35 = (byte *)((int)local_94 + -0x19cac3)" identifier = (cast_expression "(byte *)((int)local_94 + -0x19cac3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x19cac3)" ( (binary_expression "(int)local_94 + -0x19cac3" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n              if (iVar20 == 0) break;\n              iVar20 = iVar20 + -1;\n              bVar13 = *pbVar36 < *pbVar35;\n              bVar40 = *pbVar36 == *pbVar35;\n              pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n              pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n            } while (bVar40);" do (compound_statement "{\n              if (iVar20 == 0) break;\n              iVar20 = iVar20 + -1;\n              bVar13 = *pbVar36 < *pbVar35;\n              bVar40 = *pbVar36 == *pbVar35;\n              pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n              pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n            }" { (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar36 < *pbVar35;" (assignment_expression "bVar13 = *pbVar36 < *pbVar35" identifier = (binary_expression "*pbVar36 < *pbVar35" (pointer_expression "*pbVar36" * identifier) < (pointer_expression "*pbVar35" * identifier))) ;) (expression_statement "bVar40 = *pbVar36 == *pbVar35;" (assignment_expression "bVar40 = *pbVar36 == *pbVar35" identifier = (binary_expression "*pbVar36 == *pbVar35" (pointer_expression "*pbVar36" * identifier) == (pointer_expression "*pbVar35" * identifier))) ;) (expression_statement "pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (uint)bVar41 * -2 + 1" (binary_expression "pbVar36 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;" (assignment_expression "pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "pbVar35 + (uint)bVar41 * -2 + 1" (binary_expression "pbVar35 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar40)" ( identifier )) ;) (expression_statement "bVar39 = false;" (assignment_expression "bVar39 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar13 && !bVar40) == bVar13;" (assignment_expression "bVar13 = (!bVar13 && !bVar40) == bVar13" identifier = (binary_expression "(!bVar13 && !bVar40) == bVar13" (parenthesized_expression "(!bVar13 && !bVar40)" ( (binary_expression "!bVar13 && !bVar40" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar40" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n              iVar20 = 7;\n              pbVar36 = (byte *)symval_1.output_symtab_index_;\n              ppuVar38 = local_94 + -0x672af;\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar36 < *(byte *)ppuVar38;\n                bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x11;\n                pbVar36 = (byte *)symval_1.output_symtab_index_;\n                ppuVar38 = local_94 + -0x672ad;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                  pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar39 = false;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if (!bVar13) {\n                  iVar20 = 5;\n                  pbVar36 = (byte *)symval_1.output_symtab_index_;\n                  pbVar35 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar39 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  bVar40 = false;\n                  bVar13 = (!bVar39 && !bVar13) == bVar39;\n                  if (!bVar13) {\n                    iVar20 = 5;\n                    pbVar36 = (byte *)symval_1.output_symtab_index_;\n                    ppuVar38 = local_94 + -0x672a7;\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);\n                    bVar39 = false;\n                    bVar13 = (!bVar40 && !bVar13) == bVar40;\n                    if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n              iVar20 = 7;\n              pbVar36 = (byte *)symval_1.output_symtab_index_;\n              ppuVar38 = local_94 + -0x672af;\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar36 < *(byte *)ppuVar38;\n                bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x11;\n                pbVar36 = (byte *)symval_1.output_symtab_index_;\n                ppuVar38 = local_94 + -0x672ad;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                  pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar39 = false;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if (!bVar13) {\n                  iVar20 = 5;\n                  pbVar36 = (byte *)symval_1.output_symtab_index_;\n                  pbVar35 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar39 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  bVar40 = false;\n                  bVar13 = (!bVar39 && !bVar13) == bVar39;\n                  if (!bVar13) {\n                    iVar20 = 5;\n                    pbVar36 = (byte *)symval_1.output_symtab_index_;\n                    ppuVar38 = local_94 + -0x672a7;\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);\n                    bVar39 = false;\n                    bVar13 = (!bVar40 && !bVar13) == bVar40;\n                    if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }" { (expression_statement "iVar20 = 7;" (assignment_expression "iVar20 = 7" identifier = number_literal) ;) (expression_statement "pbVar36 = (byte *)symval_1.output_symtab_index_;" (assignment_expression "pbVar36 = (byte *)symval_1.output_symtab_index_" identifier = (cast_expression "(byte *)symval_1.output_symtab_index_" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "symval_1.output_symtab_index_" identifier . field_identifier))) ;) (expression_statement "ppuVar38 = local_94 + -0x672af;" (assignment_expression "ppuVar38 = local_94 + -0x672af" identifier = (binary_expression "local_94 + -0x672af" identifier + number_literal)) ;) (do_statement "do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar36 < *(byte *)ppuVar38;\n                bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n              } while (bVar13);" do (compound_statement "{\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar36 < *(byte *)ppuVar38;\n                bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n              }" { (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar39 = *pbVar36 < *(byte *)ppuVar38;" (assignment_expression "bVar39 = *pbVar36 < *(byte *)ppuVar38" identifier = (binary_expression "*pbVar36 < *(byte *)ppuVar38" (pointer_expression "*pbVar36" * identifier) < (pointer_expression "*(byte *)ppuVar38" * (cast_expression "(byte *)ppuVar38" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar13 = *pbVar36 == *(byte *)ppuVar38;" (assignment_expression "bVar13 = *pbVar36 == *(byte *)ppuVar38" identifier = (binary_expression "*pbVar36 == *(byte *)ppuVar38" (pointer_expression "*pbVar36" * identifier) == (pointer_expression "*(byte *)ppuVar38" * (cast_expression "(byte *)ppuVar38" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (uint)bVar41 * -2 + 1" (binary_expression "pbVar36 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);" (assignment_expression "ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar38 + (uint)bVar41 * -2 + 1)" ( (binary_expression "(int)ppuVar38 + (uint)bVar41 * -2 + 1" (binary_expression "(int)ppuVar38 + (uint)bVar41 * -2" (cast_expression "(int)ppuVar38" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar40 = false;" (assignment_expression "bVar40 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar39 && !bVar13) == bVar39;" (assignment_expression "bVar13 = (!bVar39 && !bVar13) == bVar39" identifier = (binary_expression "(!bVar39 && !bVar13) == bVar39" (parenthesized_expression "(!bVar39 && !bVar13)" ( (binary_expression "!bVar39 && !bVar13" (unary_expression "!bVar39" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n                iVar20 = 0x11;\n                pbVar36 = (byte *)symval_1.output_symtab_index_;\n                ppuVar38 = local_94 + -0x672ad;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                  pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar39 = false;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if (!bVar13) {\n                  iVar20 = 5;\n                  pbVar36 = (byte *)symval_1.output_symtab_index_;\n                  pbVar35 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar39 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  bVar40 = false;\n                  bVar13 = (!bVar39 && !bVar13) == bVar39;\n                  if (!bVar13) {\n                    iVar20 = 5;\n                    pbVar36 = (byte *)symval_1.output_symtab_index_;\n                    ppuVar38 = local_94 + -0x672a7;\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);\n                    bVar39 = false;\n                    bVar13 = (!bVar40 && !bVar13) == bVar40;\n                    if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n                iVar20 = 0x11;\n                pbVar36 = (byte *)symval_1.output_symtab_index_;\n                ppuVar38 = local_94 + -0x672ad;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                  pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar39 = false;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if (!bVar13) {\n                  iVar20 = 5;\n                  pbVar36 = (byte *)symval_1.output_symtab_index_;\n                  pbVar35 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar39 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  bVar40 = false;\n                  bVar13 = (!bVar39 && !bVar13) == bVar39;\n                  if (!bVar13) {\n                    iVar20 = 5;\n                    pbVar36 = (byte *)symval_1.output_symtab_index_;\n                    ppuVar38 = local_94 + -0x672a7;\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);\n                    bVar39 = false;\n                    bVar13 = (!bVar40 && !bVar13) == bVar40;\n                    if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "iVar20 = 0x11;" (assignment_expression "iVar20 = 0x11" identifier = number_literal) ;) (expression_statement "pbVar36 = (byte *)symval_1.output_symtab_index_;" (assignment_expression "pbVar36 = (byte *)symval_1.output_symtab_index_" identifier = (cast_expression "(byte *)symval_1.output_symtab_index_" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "symval_1.output_symtab_index_" identifier . field_identifier))) ;) (expression_statement "ppuVar38 = local_94 + -0x672ad;" (assignment_expression "ppuVar38 = local_94 + -0x672ad" identifier = (binary_expression "local_94 + -0x672ad" identifier + number_literal)) ;) (do_statement "do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                  pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);" do (compound_statement "{\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                  pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                }" { (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar40 = *pbVar36 < *(byte *)ppuVar38;" (assignment_expression "bVar40 = *pbVar36 < *(byte *)ppuVar38" identifier = (binary_expression "*pbVar36 < *(byte *)ppuVar38" (pointer_expression "*pbVar36" * identifier) < (pointer_expression "*(byte *)ppuVar38" * (cast_expression "(byte *)ppuVar38" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar13 = *pbVar36 == *(byte *)ppuVar38;" (assignment_expression "bVar13 = *pbVar36 == *(byte *)ppuVar38" identifier = (binary_expression "*pbVar36 == *(byte *)ppuVar38" (pointer_expression "*pbVar36" * identifier) == (pointer_expression "*(byte *)ppuVar38" * (cast_expression "(byte *)ppuVar38" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (uint)bVar41 * -2 + 1" (binary_expression "pbVar36 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);" (assignment_expression "ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar38 + (uint)bVar41 * -2 + 1)" ( (binary_expression "(int)ppuVar38 + (uint)bVar41 * -2 + 1" (binary_expression "(int)ppuVar38 + (uint)bVar41 * -2" (cast_expression "(int)ppuVar38" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar39 = false;" (assignment_expression "bVar39 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar40 && !bVar13) == bVar40;" (assignment_expression "bVar13 = (!bVar40 && !bVar13) == bVar40" identifier = (binary_expression "(!bVar40 && !bVar13) == bVar40" (parenthesized_expression "(!bVar40 && !bVar13)" ( (binary_expression "!bVar40 && !bVar13" (unary_expression "!bVar40" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n                  iVar20 = 5;\n                  pbVar36 = (byte *)symval_1.output_symtab_index_;\n                  pbVar35 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar39 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  bVar40 = false;\n                  bVar13 = (!bVar39 && !bVar13) == bVar39;\n                  if (!bVar13) {\n                    iVar20 = 5;\n                    pbVar36 = (byte *)symval_1.output_symtab_index_;\n                    ppuVar38 = local_94 + -0x672a7;\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);\n                    bVar39 = false;\n                    bVar13 = (!bVar40 && !bVar13) == bVar40;\n                    if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n                  iVar20 = 5;\n                  pbVar36 = (byte *)symval_1.output_symtab_index_;\n                  pbVar35 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar39 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  bVar40 = false;\n                  bVar13 = (!bVar39 && !bVar13) == bVar39;\n                  if (!bVar13) {\n                    iVar20 = 5;\n                    pbVar36 = (byte *)symval_1.output_symtab_index_;\n                    ppuVar38 = local_94 + -0x672a7;\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);\n                    bVar39 = false;\n                    bVar13 = (!bVar40 && !bVar13) == bVar40;\n                    if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }" { (expression_statement "iVar20 = 5;" (assignment_expression "iVar20 = 5" identifier = number_literal) ;) (expression_statement "pbVar36 = (byte *)symval_1.output_symtab_index_;" (assignment_expression "pbVar36 = (byte *)symval_1.output_symtab_index_" identifier = (cast_expression "(byte *)symval_1.output_symtab_index_" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "symval_1.output_symtab_index_" identifier . field_identifier))) ;) (expression_statement "pbVar35 = (byte *)((int)local_94 + -0x19caa2);" (assignment_expression "pbVar35 = (byte *)((int)local_94 + -0x19caa2)" identifier = (cast_expression "(byte *)((int)local_94 + -0x19caa2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x19caa2)" ( (binary_expression "(int)local_94 + -0x19caa2" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar39 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);" do (compound_statement "{\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar39 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  }" { (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar39 = *pbVar36 < *pbVar35;" (assignment_expression "bVar39 = *pbVar36 < *pbVar35" identifier = (binary_expression "*pbVar36 < *pbVar35" (pointer_expression "*pbVar36" * identifier) < (pointer_expression "*pbVar35" * identifier))) ;) (expression_statement "bVar13 = *pbVar36 == *pbVar35;" (assignment_expression "bVar13 = *pbVar36 == *pbVar35" identifier = (binary_expression "*pbVar36 == *pbVar35" (pointer_expression "*pbVar36" * identifier) == (pointer_expression "*pbVar35" * identifier))) ;) (expression_statement "pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (uint)bVar41 * -2 + 1" (binary_expression "pbVar36 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;" (assignment_expression "pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "pbVar35 + (uint)bVar41 * -2 + 1" (binary_expression "pbVar35 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar40 = false;" (assignment_expression "bVar40 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar39 && !bVar13) == bVar39;" (assignment_expression "bVar13 = (!bVar39 && !bVar13) == bVar39" identifier = (binary_expression "(!bVar39 && !bVar13) == bVar39" (parenthesized_expression "(!bVar39 && !bVar13)" ( (binary_expression "!bVar39 && !bVar13" (unary_expression "!bVar39" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n                    iVar20 = 5;\n                    pbVar36 = (byte *)symval_1.output_symtab_index_;\n                    ppuVar38 = local_94 + -0x672a7;\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);\n                    bVar39 = false;\n                    bVar13 = (!bVar40 && !bVar13) == bVar40;\n                    if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n                    iVar20 = 5;\n                    pbVar36 = (byte *)symval_1.output_symtab_index_;\n                    ppuVar38 = local_94 + -0x672a7;\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);\n                    bVar39 = false;\n                    bVar13 = (!bVar40 && !bVar13) == bVar40;\n                    if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }" { (expression_statement "iVar20 = 5;" (assignment_expression "iVar20 = 5" identifier = number_literal) ;) (expression_statement "pbVar36 = (byte *)symval_1.output_symtab_index_;" (assignment_expression "pbVar36 = (byte *)symval_1.output_symtab_index_" identifier = (cast_expression "(byte *)symval_1.output_symtab_index_" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "symval_1.output_symtab_index_" identifier . field_identifier))) ;) (expression_statement "ppuVar38 = local_94 + -0x672a7;" (assignment_expression "ppuVar38 = local_94 + -0x672a7" identifier = (binary_expression "local_94 + -0x672a7" identifier + number_literal)) ;) (do_statement "do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    } while (bVar13);" do (compound_statement "{\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar40 = *pbVar36 < *(byte *)ppuVar38;\n                      bVar13 = *pbVar36 == *(byte *)ppuVar38;\n                      pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                      ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                    }" { (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar40 = *pbVar36 < *(byte *)ppuVar38;" (assignment_expression "bVar40 = *pbVar36 < *(byte *)ppuVar38" identifier = (binary_expression "*pbVar36 < *(byte *)ppuVar38" (pointer_expression "*pbVar36" * identifier) < (pointer_expression "*(byte *)ppuVar38" * (cast_expression "(byte *)ppuVar38" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar13 = *pbVar36 == *(byte *)ppuVar38;" (assignment_expression "bVar13 = *pbVar36 == *(byte *)ppuVar38" identifier = (binary_expression "*pbVar36 == *(byte *)ppuVar38" (pointer_expression "*pbVar36" * identifier) == (pointer_expression "*(byte *)ppuVar38" * (cast_expression "(byte *)ppuVar38" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (uint)bVar41 * -2 + 1" (binary_expression "pbVar36 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);" (assignment_expression "ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar38 + (uint)bVar41 * -2 + 1)" ( (binary_expression "(int)ppuVar38 + (uint)bVar41 * -2 + 1" (binary_expression "(int)ppuVar38 + (uint)bVar41 * -2" (cast_expression "(int)ppuVar38" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar39 = false;" (assignment_expression "bVar39 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar40 && !bVar13) == bVar40;" (assignment_expression "bVar13 = (!bVar40 && !bVar13) == bVar40" identifier = (binary_expression "(!bVar40 && !bVar13) == bVar40" (parenthesized_expression "(!bVar40 && !bVar13)" ( (binary_expression "!bVar40 && !bVar13" (unary_expression "!bVar40" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n                      iVar20 = 4;\n                      pbVar36 = (byte *)symval_1.output_symtab_index_;\n                      pbVar35 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);\n                      bVar40 = false;\n                      bVar13 = (!bVar39 && !bVar13) == bVar39;\n                      if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }" { (expression_statement "iVar20 = 4;" (assignment_expression "iVar20 = 4" identifier = number_literal) ;) (expression_statement "pbVar36 = (byte *)symval_1.output_symtab_index_;" (assignment_expression "pbVar36 = (byte *)symval_1.output_symtab_index_" identifier = (cast_expression "(byte *)symval_1.output_symtab_index_" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "symval_1.output_symtab_index_" identifier . field_identifier))) ;) (expression_statement "pbVar35 = (byte *)((int)local_94 + -0x19ca96);" (assignment_expression "pbVar35 = (byte *)((int)local_94 + -0x19ca96)" identifier = (cast_expression "(byte *)((int)local_94 + -0x19ca96)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x19ca96)" ( (binary_expression "(int)local_94 + -0x19ca96" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      } while (bVar13);" do (compound_statement "{\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar39 = *pbVar36 < *pbVar35;\n                        bVar13 = *pbVar36 == *pbVar35;\n                        pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                        pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                      }" { (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar39 = *pbVar36 < *pbVar35;" (assignment_expression "bVar39 = *pbVar36 < *pbVar35" identifier = (binary_expression "*pbVar36 < *pbVar35" (pointer_expression "*pbVar36" * identifier) < (pointer_expression "*pbVar35" * identifier))) ;) (expression_statement "bVar13 = *pbVar36 == *pbVar35;" (assignment_expression "bVar13 = *pbVar36 == *pbVar35" identifier = (binary_expression "*pbVar36 == *pbVar35" (pointer_expression "*pbVar36" * identifier) == (pointer_expression "*pbVar35" * identifier))) ;) (expression_statement "pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (uint)bVar41 * -2 + 1" (binary_expression "pbVar36 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;" (assignment_expression "pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "pbVar35 + (uint)bVar41 * -2 + 1" (binary_expression "pbVar35 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar40 = false;" (assignment_expression "bVar40 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar39 && !bVar13) == bVar39;" (assignment_expression "bVar13 = (!bVar39 && !bVar13) == bVar39" identifier = (binary_expression "(!bVar39 && !bVar13) == bVar39" (parenthesized_expression "(!bVar39 && !bVar13)" ( (binary_expression "!bVar39 && !bVar13" (unary_expression "!bVar39" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n                        iVar20 = 10;\n                        pbVar36 = (byte *)symval_1.output_symtab_index_;\n                        pbVar35 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);\n                        bVar39 = false;\n                        bVar13 = (!bVar40 && !bVar13) == bVar40;\n                        if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }" { (expression_statement "iVar20 = 10;" (assignment_expression "iVar20 = 10" identifier = number_literal) ;) (expression_statement "pbVar36 = (byte *)symval_1.output_symtab_index_;" (assignment_expression "pbVar36 = (byte *)symval_1.output_symtab_index_" identifier = (cast_expression "(byte *)symval_1.output_symtab_index_" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "symval_1.output_symtab_index_" identifier . field_identifier))) ;) (expression_statement "pbVar35 = (byte *)((int)local_94 + -0x19a212);" (assignment_expression "pbVar35 = (byte *)((int)local_94 + -0x19a212)" identifier = (cast_expression "(byte *)((int)local_94 + -0x19a212)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x19a212)" ( (binary_expression "(int)local_94 + -0x19a212" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        } while (bVar13);" do (compound_statement "{\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar40 = *pbVar36 < *pbVar35;\n                          bVar13 = *pbVar36 == *pbVar35;\n                          pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                          pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                        }" { (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar40 = *pbVar36 < *pbVar35;" (assignment_expression "bVar40 = *pbVar36 < *pbVar35" identifier = (binary_expression "*pbVar36 < *pbVar35" (pointer_expression "*pbVar36" * identifier) < (pointer_expression "*pbVar35" * identifier))) ;) (expression_statement "bVar13 = *pbVar36 == *pbVar35;" (assignment_expression "bVar13 = *pbVar36 == *pbVar35" identifier = (binary_expression "*pbVar36 == *pbVar35" (pointer_expression "*pbVar36" * identifier) == (pointer_expression "*pbVar35" * identifier))) ;) (expression_statement "pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (uint)bVar41 * -2 + 1" (binary_expression "pbVar36 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;" (assignment_expression "pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "pbVar35 + (uint)bVar41 * -2 + 1" (binary_expression "pbVar35 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar39 = false;" (assignment_expression "bVar39 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar40 && !bVar13) == bVar40;" (assignment_expression "bVar13 = (!bVar40 && !bVar13) == bVar40" identifier = (binary_expression "(!bVar40 && !bVar13) == bVar40" (parenthesized_expression "(!bVar40 && !bVar13)" ( (binary_expression "!bVar40 && !bVar13" (unary_expression "!bVar40" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n                          iVar20 = 0x12;\n                          pbVar36 = (byte *)symval_1.output_symtab_index_;\n                          pbVar35 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;\n                        }" { (expression_statement "iVar20 = 0x12;" (assignment_expression "iVar20 = 0x12" identifier = number_literal) ;) (expression_statement "pbVar36 = (byte *)symval_1.output_symtab_index_;" (assignment_expression "pbVar36 = (byte *)symval_1.output_symtab_index_" identifier = (cast_expression "(byte *)symval_1.output_symtab_index_" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "symval_1.output_symtab_index_" identifier . field_identifier))) ;) (expression_statement "pbVar35 = (byte *)((int)local_94 + -0x19ca91);" (assignment_expression "pbVar35 = (byte *)((int)local_94 + -0x19ca91)" identifier = (cast_expression "(byte *)((int)local_94 + -0x19ca91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x19ca91)" ( (binary_expression "(int)local_94 + -0x19ca91" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          } while (bVar13);" do (compound_statement "{\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar39 = *pbVar36 < *pbVar35;\n                            bVar13 = *pbVar36 == *pbVar35;\n                            pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                            pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                          }" { (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar39 = *pbVar36 < *pbVar35;" (assignment_expression "bVar39 = *pbVar36 < *pbVar35" identifier = (binary_expression "*pbVar36 < *pbVar35" (pointer_expression "*pbVar36" * identifier) < (pointer_expression "*pbVar35" * identifier))) ;) (expression_statement "bVar13 = *pbVar36 == *pbVar35;" (assignment_expression "bVar13 = *pbVar36 == *pbVar35" identifier = (binary_expression "*pbVar36 == *pbVar35" (pointer_expression "*pbVar36" * identifier) == (pointer_expression "*pbVar35" * identifier))) ;) (expression_statement "pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (uint)bVar41 * -2 + 1" (binary_expression "pbVar36 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;" (assignment_expression "pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "pbVar35 + (uint)bVar41 * -2 + 1" (binary_expression "pbVar35 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (if_statement "if ((!bVar39 && !bVar13) != bVar39) goto LAB_0009dbca;" if (parenthesized_expression "((!bVar39 && !bVar13) != bVar39)" ( (binary_expression "(!bVar39 && !bVar13) != bVar39" (parenthesized_expression "(!bVar39 && !bVar13)" ( (binary_expression "!bVar39 && !bVar13" (unary_expression "!bVar39" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_0009dbca;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0009dc9a;" goto statement_identifier ;) })) })) })) })) })) })) (labeled_statement "LAB_0009da6c:\n            *(bool **)((int)puVar34 + -8) = &found;" statement_identifier : (expression_statement "*(bool **)((int)puVar34 + -8) = &found;" (assignment_expression "*(bool **)((int)puVar34 + -8) = &found" (pointer_expression "*(bool **)((int)puVar34 + -8)" * (cast_expression "(bool **)((int)puVar34 + -8)" ( (type_descriptor "bool **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&found" & identifier)) ;)) (expression_statement "*(Symbol_value<32> **)((int)puVar34 + -0xc) = local_b0;" (assignment_expression "*(Symbol_value<32> **)((int)puVar34 + -0xc) = local_b0" (pointer_expression "*(Symbol_value<32> **)((int)puVar34 + -0xc)" * (call_expression "(Symbol_value<32> **)((int)puVar34 + -0xc)" (parenthesized_expression "(Symbol_value<32> **)" ( (binary_expression "Symbol_value<32> **" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x10) = local_a4;" (assignment_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x10) = local_a4" (pointer_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x10)" * (call_expression "(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x10)" (parenthesized_expression "(Sized_relobj_file<32,_true> **)" ( (comma_expression "Sized_relobj_file<32,_true> **" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = local_cc;" (assignment_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = local_cc" (pointer_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14)" * (call_expression "(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14)" (parenthesized_expression "(Sized_relobj_file<32,_true> **)" ( (comma_expression "Sized_relobj_file<32,_true> **" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)puVar34 + -0x18) = 0x9da8d;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x18) = 0x9da8d" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x18)" ( (binary_expression "(int)puVar34 + -0x18" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "AVar21 = gold::" (assignment_expression "AVar21 = gold" identifier = identifier) : :) (expression_statement "Sized_relobj_file<32,_true>::map_to_kept_section\n                               (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                *(uint *)((int)puVar34 + -0x10),*(string **)((int)puVar34 + -0xc),\n                                *(bool **)((int)puVar34 + -8));" (comma_expression "Sized_relobj_file<32,_true>::map_to_kept_section\n                               (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                *(uint *)((int)puVar34 + -0x10),*(string **)((int)puVar34 + -0xc),\n                                *(bool **)((int)puVar34 + -8))" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::map_to_kept_section\n                               (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                *(uint *)((int)puVar34 + -0x10),*(string **)((int)puVar34 + -0xc),\n                                *(bool **)((int)puVar34 + -8))" identifier > (ERROR "::" : :) (call_expression "map_to_kept_section\n                               (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                *(uint *)((int)puVar34 + -0x10),*(string **)((int)puVar34 + -0xc),\n                                *(bool **)((int)puVar34 + -8))" identifier (argument_list "(*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                *(uint *)((int)puVar34 + -0x10),*(string **)((int)puVar34 + -0xc),\n                                *(bool **)((int)puVar34 + -8))" ( (pointer_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14)" * (call_expression "(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14)" (parenthesized_expression "(Sized_relobj_file<32,_true> **)" ( (comma_expression "Sized_relobj_file<32,_true> **" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)puVar34 + -0x10)" * (cast_expression "(uint *)((int)puVar34 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(string **)((int)puVar34 + -0xc)" * (cast_expression "(string **)((int)puVar34 + -0xc)" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(bool **)((int)puVar34 + -8)" * (cast_expression "(bool **)((int)puVar34 + -8)" ( (type_descriptor "bool **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "symval2.u_ = (anon_union_4_2_6a937475_for_u_)0x0;" (assignment_expression "symval2.u_ = (anon_union_4_2_6a937475_for_u_)0x0" (field_expression "symval2.u_" identifier . field_identifier) = (cast_expression "(anon_union_4_2_6a937475_for_u_)0x0" ( (type_descriptor "anon_union_4_2_6a937475_for_u_" type_identifier) ) number_literal)) ;) (if_statement "if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   ((int)&((local_9c->u_).merged_symbol_value)->input_value_ + AVar21);\n            }" if (parenthesized_expression "(found != false)" ( (binary_expression "found != false" identifier != false) )) (compound_statement "{\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   ((int)&((local_9c->u_).merged_symbol_value)->input_value_ + AVar21);\n            }" { (expression_statement "symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   ((int)&((local_9c->u_).merged_symbol_value)->input_value_ + AVar21);" (assignment_expression "symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   ((int)&((local_9c->u_).merged_symbol_value)->input_value_ + AVar21)" (field_expression "symval2.u_.merged_symbol_value" (field_expression "symval2.u_" identifier . field_identifier) . field_identifier) = (call_expression "(Merged_symbol_value<32> *)\n                   ((int)&((local_9c->u_).merged_symbol_value)->input_value_ + AVar21)" (parenthesized_expression "(Merged_symbol_value<32> *)" ( (binary_expression "Merged_symbol_value<32> *" (binary_expression "Merged_symbol_value<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "((int)&((local_9c->u_).merged_symbol_value)->input_value_ + AVar21)" ( (binary_expression "(int)&((local_9c->u_).merged_symbol_value)->input_value_ + AVar21" (cast_expression "(int)&((local_9c->u_).merged_symbol_value)->input_value_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((local_9c->u_).merged_symbol_value)->input_value_" & (field_expression "((local_9c->u_).merged_symbol_value)->input_value_" (parenthesized_expression "((local_9c->u_).merged_symbol_value)" ( (field_expression "(local_9c->u_).merged_symbol_value" (parenthesized_expression "(local_9c->u_)" ( (field_expression "local_9c->u_" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier))) + identifier) )))) ;) })) (expression_statement "local_c0 = 1;" (assignment_expression "local_c0 = 1" identifier = number_literal) ;) }) (else_clause "else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              pSVar5 = relinfo->object;\n              if (local_90 == (Symbol_table *)0x0) {\n                *(uchar **)((int)puVar34 + -0x10) = local_a0;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e225;\n                pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10));\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e23d;\n                uVar26 = gettext();\n                *(uchar **)((int)puVar34 + -0xc) = local_a0;\n                *(char **)((int)puVar34 + -0x10) = pcVar27;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9e265;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar34 + -0x10) = local_90;\n                *(bool **)((int)puVar34 + -0x14) = &found;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));\n                puVar12 = _found;\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d;\n                uVar26 = gettext();\n                *(undefined1 **)((int)puVar34 + -0x10) = puVar12;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar34 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;\n                  operator_delete(*(void **)((int)puVar34 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar34 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar34 + -0xc) = &value;\n              *(uchar **)((int)puVar34 + -0x10) = local_a0;\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc63;\n              uVar16 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)\n                                  ,*(bool **)((int)puVar34 + -8));\n              if (uVar16 != 0) {\n                *(uint **)((int)puVar34 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar34 + -0x10) = uVar16;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e18c;\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar34 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;\n                  pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10));\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;\n                  uVar26 = gettext();\n                  *(char **)((int)puVar34 + -0x10) = pcVar27;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;\n                  uVar26 = gettext();\n                  *(pointer *)((int)puVar34 + -0x10) = pcVar10;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            symval2.u_.value = 0;\n          }" else (compound_statement "{\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              pSVar5 = relinfo->object;\n              if (local_90 == (Symbol_table *)0x0) {\n                *(uchar **)((int)puVar34 + -0x10) = local_a0;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e225;\n                pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10));\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e23d;\n                uVar26 = gettext();\n                *(uchar **)((int)puVar34 + -0xc) = local_a0;\n                *(char **)((int)puVar34 + -0x10) = pcVar27;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9e265;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar34 + -0x10) = local_90;\n                *(bool **)((int)puVar34 + -0x14) = &found;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));\n                puVar12 = _found;\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d;\n                uVar26 = gettext();\n                *(undefined1 **)((int)puVar34 + -0x10) = puVar12;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar34 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;\n                  operator_delete(*(void **)((int)puVar34 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar34 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar34 + -0xc) = &value;\n              *(uchar **)((int)puVar34 + -0x10) = local_a0;\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc63;\n              uVar16 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)\n                                  ,*(bool **)((int)puVar34 + -8));\n              if (uVar16 != 0) {\n                *(uint **)((int)puVar34 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar34 + -0x10) = uVar16;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e18c;\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar34 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;\n                  pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10));\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;\n                  uVar26 = gettext();\n                  *(char **)((int)puVar34 + -0x10) = pcVar27;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;\n                  uVar26 = gettext();\n                  *(pointer *)((int)puVar34 + -0x10) = pcVar10;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            symval2.u_.value = 0;\n          }" { (if_statement "if (local_c0 == 1) goto LAB_0009da6c;" if (parenthesized_expression "(local_c0 == 1)" ( (binary_expression "local_c0 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0009da6c;" goto statement_identifier ;)) (if_statement "if (local_c0 == 3) {\nLAB_0009dbca:\n              pSVar5 = relinfo->object;\n              if (local_90 == (Symbol_table *)0x0) {\n                *(uchar **)((int)puVar34 + -0x10) = local_a0;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e225;\n                pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10));\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e23d;\n                uVar26 = gettext();\n                *(uchar **)((int)puVar34 + -0xc) = local_a0;\n                *(char **)((int)puVar34 + -0x10) = pcVar27;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9e265;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar34 + -0x10) = local_90;\n                *(bool **)((int)puVar34 + -0x14) = &found;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));\n                puVar12 = _found;\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d;\n                uVar26 = gettext();\n                *(undefined1 **)((int)puVar34 + -0x10) = puVar12;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar34 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;\n                  operator_delete(*(void **)((int)puVar34 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar34 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar34 + -0xc) = &value;\n              *(uchar **)((int)puVar34 + -0x10) = local_a0;\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc63;\n              uVar16 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)\n                                  ,*(bool **)((int)puVar34 + -8));\n              if (uVar16 != 0) {\n                *(uint **)((int)puVar34 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar34 + -0x10) = uVar16;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e18c;\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar34 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;\n                  pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10));\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;\n                  uVar26 = gettext();\n                  *(char **)((int)puVar34 + -0x10) = pcVar27;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;\n                  uVar26 = gettext();\n                  *(pointer *)((int)puVar34 + -0x10) = pcVar10;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }" if (parenthesized_expression "(local_c0 == 3)" ( (binary_expression "local_c0 == 3" identifier == number_literal) )) (compound_statement "{\nLAB_0009dbca:\n              pSVar5 = relinfo->object;\n              if (local_90 == (Symbol_table *)0x0) {\n                *(uchar **)((int)puVar34 + -0x10) = local_a0;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e225;\n                pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10));\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e23d;\n                uVar26 = gettext();\n                *(uchar **)((int)puVar34 + -0xc) = local_a0;\n                *(char **)((int)puVar34 + -0x10) = pcVar27;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9e265;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar34 + -0x10) = local_90;\n                *(bool **)((int)puVar34 + -0x14) = &found;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));\n                puVar12 = _found;\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d;\n                uVar26 = gettext();\n                *(undefined1 **)((int)puVar34 + -0x10) = puVar12;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar34 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;\n                  operator_delete(*(void **)((int)puVar34 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar34 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar34 + -0xc) = &value;\n              *(uchar **)((int)puVar34 + -0x10) = local_a0;\n              *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */\n              *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc63;\n              uVar16 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)\n                                  ,*(bool **)((int)puVar34 + -8));\n              if (uVar16 != 0) {\n                *(uint **)((int)puVar34 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar34 + -0x10) = uVar16;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e18c;\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar34 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;\n                  pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10));\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;\n                  uVar26 = gettext();\n                  *(char **)((int)puVar34 + -0x10) = pcVar27;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;\n                  uVar26 = gettext();\n                  *(pointer *)((int)puVar34 + -0x10) = pcVar10;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n              }\n              local_c0 = 3;\n            }" { (labeled_statement "LAB_0009dbca:\n              pSVar5 = relinfo->object;" statement_identifier : (expression_statement "pSVar5 = relinfo->object;" (assignment_expression "pSVar5 = relinfo->object" identifier = (field_expression "relinfo->object" identifier -> field_identifier)) ;)) (if_statement "if (local_90 == (Symbol_table *)0x0) {\n                *(uchar **)((int)puVar34 + -0x10) = local_a0;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e225;\n                pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10));\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e23d;\n                uVar26 = gettext();\n                *(uchar **)((int)puVar34 + -0xc) = local_a0;\n                *(char **)((int)puVar34 + -0x10) = pcVar27;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9e265;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar34 + -0x10) = local_90;\n                *(bool **)((int)puVar34 + -0x14) = &found;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));\n                puVar12 = _found;\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d;\n                uVar26 = gettext();\n                *(undefined1 **)((int)puVar34 + -0x10) = puVar12;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar34 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;\n                  operator_delete(*(void **)((int)puVar34 + -0x14));\n                }\n              }" if (parenthesized_expression "(local_90 == (Symbol_table *)0x0)" ( (binary_expression "local_90 == (Symbol_table *)0x0" identifier == (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *(uchar **)((int)puVar34 + -0x10) = local_a0;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e225;\n                pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10));\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e23d;\n                uVar26 = gettext();\n                *(uchar **)((int)puVar34 + -0xc) = local_a0;\n                *(char **)((int)puVar34 + -0x10) = pcVar27;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9e265;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n              }" { (expression_statement "*(uchar **)((int)puVar34 + -0x10) = local_a0;" (assignment_expression "*(uchar **)((int)puVar34 + -0x10) = local_a0" (pointer_expression "*(uchar **)((int)puVar34 + -0x10)" * (cast_expression "(uchar **)((int)puVar34 + -0x10)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;" (assignment_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5" (pointer_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14)" * (call_expression "(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14)" (parenthesized_expression "(Sized_relobj_file<32,_true> **)" ( (comma_expression "Sized_relobj_file<32,_true> **" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0x18) = 0x9e225;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x18) = 0x9e225" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x18)" ( (binary_expression "(int)puVar34 + -0x18" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "pcVar27 = gold::" (assignment_expression "pcVar27 = gold" identifier = identifier) : :) (expression_statement "Sized_relobj_file<32,_true>::get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10));" (comma_expression "Sized_relobj_file<32,_true>::get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10))" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10))" identifier > (ERROR "::" : :) (call_expression "get_symbol_name\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10))" identifier (argument_list "(*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10))" ( (pointer_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14)" * (call_expression "(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14)" (parenthesized_expression "(Sized_relobj_file<32,_true> **)" ( (comma_expression "Sized_relobj_file<32,_true> **" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)puVar34 + -0x10)" * (cast_expression "(uint *)((int)puVar34 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "*(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671fa;" (assignment_expression "*(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671fa" (pointer_expression "*(undefined ***)((int)puVar34 + -0x14)" * (cast_expression "(undefined ***)((int)puVar34 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_94 + -0x671fa" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0x18) = 0x9e23d;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x18) = 0x9e23d" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x18)" ( (binary_expression "(int)puVar34 + -0x18" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar26 = gettext();" (assignment_expression "uVar26 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uchar **)((int)puVar34 + -0xc) = local_a0;" (assignment_expression "*(uchar **)((int)puVar34 + -0xc) = local_a0" (pointer_expression "*(uchar **)((int)puVar34 + -0xc)" * (cast_expression "(uchar **)((int)puVar34 + -0xc)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char **)((int)puVar34 + -0x10) = pcVar27;" (assignment_expression "*(char **)((int)puVar34 + -0x10) = pcVar27" (pointer_expression "*(char **)((int)puVar34 + -0x10)" * (cast_expression "(char **)((int)puVar34 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0x14) = uVar26;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x14) = uVar26" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;" (assignment_expression "*(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f" (pointer_expression "*(int *)((int)puVar34 + -0x18)" * (cast_expression "(int *)((int)puVar34 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x18)" ( (binary_expression "(int)puVar34 + -0x18" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_c4 >> 0x1f" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)((int)puVar34 + -0x1c) = local_c4;" (assignment_expression "*(uint *)((int)puVar34 + -0x1c) = local_c4" (pointer_expression "*(uint *)((int)puVar34 + -0x1c)" * (cast_expression "(uint *)((int)puVar34 + -0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x1c)" ( (binary_expression "(int)puVar34 + -0x1c" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(size_t *)((int)puVar34 + -0x20) = local_b4;" (assignment_expression "*(size_t *)((int)puVar34 + -0x20) = local_b4" (pointer_expression "*(size_t *)((int)puVar34 + -0x20)" * (cast_expression "(size_t *)((int)puVar34 + -0x20)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x20)" ( (binary_expression "(int)puVar34 + -0x20" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;" (assignment_expression "*(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo" (pointer_expression "*(Relocate_info<32,_true> **)((int)puVar34 + -0x24)" * (call_expression "(Relocate_info<32,_true> **)((int)puVar34 + -0x24)" (parenthesized_expression "(Relocate_info<32,_true> **)" ( (comma_expression "Relocate_info<32,_true> **" (binary_expression "Relocate_info<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar34 + -0x24)" ( (binary_expression "(int)puVar34 + -0x24" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0x28) = 0x9e265;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x28) = 0x9e265" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x28)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x28)" ( (binary_expression "(int)puVar34 + -0x28" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));" statement_identifier : (ERROR ":" :) (expression_statement "gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));" (comma_expression "gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10))" (binary_expression "gold_error_at_location<32" identifier < number_literal) , (binary_expression "_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10))" identifier > (parenthesized_expression "(*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10))" ( (comma_expression "*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10)" (pointer_expression "*(gold **)((int)puVar34 + -0x24)" * (cast_expression "(gold **)((int)puVar34 + -0x24)" ( (type_descriptor "gold **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x24)" ( (binary_expression "(int)puVar34 + -0x24" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10)" (pointer_expression "*(Relocate_info<32,_true> **)((int)puVar34 + -0x20)" * (call_expression "(Relocate_info<32,_true> **)((int)puVar34 + -0x20)" (parenthesized_expression "(Relocate_info<32,_true> **)" ( (comma_expression "Relocate_info<32,_true> **" (binary_expression "Relocate_info<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar34 + -0x20)" ( (binary_expression "(int)puVar34 + -0x20" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10)" (pointer_expression "*(size_t *)((int)puVar34 + -0x1c)" * (cast_expression "(size_t *)((int)puVar34 + -0x1c)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x1c)" ( (binary_expression "(int)puVar34 + -0x1c" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10)" (pointer_expression "*(off_t *)((int)puVar34 + -0x18)" * (cast_expression "(off_t *)((int)puVar34 + -0x18)" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x18)" ( (binary_expression "(int)puVar34 + -0x18" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar34 + -0x10)" * (cast_expression "(char **)((int)puVar34 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))))) )))) ;)) }) (else_clause "else {\n                *(Symbol_table **)((int)puVar34 + -0x10) = local_90;\n                *(bool **)((int)puVar34 + -0x14) = &found;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));\n                puVar12 = _found;\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d;\n                uVar26 = gettext();\n                *(undefined1 **)((int)puVar34 + -0x10) = puVar12;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar34 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;\n                  operator_delete(*(void **)((int)puVar34 + -0x14));\n                }\n              }" else (compound_statement "{\n                *(Symbol_table **)((int)puVar34 + -0x10) = local_90;\n                *(bool **)((int)puVar34 + -0x14) = &found;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));\n                puVar12 = _found;\n                *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4;\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d;\n                uVar26 = gettext();\n                *(undefined1 **)((int)puVar34 + -0x10) = puVar12;\n                *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                *(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)((int)puVar34 + -0x1c) = local_c4;\n                *(size_t *)((int)puVar34 + -0x20) = local_b4;\n                *(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;\n                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */\n                *(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30;\n                gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar34 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;\n                  operator_delete(*(void **)((int)puVar34 + -0x14));\n                }\n              }" { (expression_statement "*(Symbol_table **)((int)puVar34 + -0x10) = local_90;" (assignment_expression "*(Symbol_table **)((int)puVar34 + -0x10) = local_90" (pointer_expression "*(Symbol_table **)((int)puVar34 + -0x10)" * (cast_expression "(Symbol_table **)((int)puVar34 + -0x10)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(bool **)((int)puVar34 + -0x14) = &found;" (assignment_expression "*(bool **)((int)puVar34 + -0x14) = &found" (pointer_expression "*(bool **)((int)puVar34 + -0x14)" * (cast_expression "(bool **)((int)puVar34 + -0x14)" ( (type_descriptor "bool **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&found" & identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x18) = 0x9dbf6" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x18)" ( (binary_expression "(int)puVar34 + -0x18" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));" statement_identifier : (ERROR ":" :) (labeled_statement "Symbol::demangled_name(*(Symbol **)((int)puVar34 + -0x10));" statement_identifier : (ERROR ":" :) (expression_statement "demangled_name(*(Symbol **)((int)puVar34 + -0x10));" (call_expression "demangled_name(*(Symbol **)((int)puVar34 + -0x10))" identifier (argument_list "(*(Symbol **)((int)puVar34 + -0x10))" ( (pointer_expression "*(Symbol **)((int)puVar34 + -0x10)" * (cast_expression "(Symbol **)((int)puVar34 + -0x10)" ( (type_descriptor "Symbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;))) (expression_statement "puVar12 = _found;" (assignment_expression "puVar12 = _found" identifier = identifier) ;) (expression_statement "*(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4;" (assignment_expression "*(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671e4" (pointer_expression "*(undefined ***)((int)puVar34 + -0x14)" * (cast_expression "(undefined ***)((int)puVar34 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_94 + -0x671e4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x18) = 0x9dc0d" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x18)" ( (binary_expression "(int)puVar34 + -0x18" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar26 = gettext();" (assignment_expression "uVar26 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined1 **)((int)puVar34 + -0x10) = puVar12;" (assignment_expression "*(undefined1 **)((int)puVar34 + -0x10) = puVar12" (pointer_expression "*(undefined1 **)((int)puVar34 + -0x10)" * (cast_expression "(undefined1 **)((int)puVar34 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0x14) = uVar26;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x14) = uVar26" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f;" (assignment_expression "*(int *)((int)puVar34 + -0x18) = (int)local_c4 >> 0x1f" (pointer_expression "*(int *)((int)puVar34 + -0x18)" * (cast_expression "(int *)((int)puVar34 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x18)" ( (binary_expression "(int)puVar34 + -0x18" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_c4 >> 0x1f" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)((int)puVar34 + -0x1c) = local_c4;" (assignment_expression "*(uint *)((int)puVar34 + -0x1c) = local_c4" (pointer_expression "*(uint *)((int)puVar34 + -0x1c)" * (cast_expression "(uint *)((int)puVar34 + -0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x1c)" ( (binary_expression "(int)puVar34 + -0x1c" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(size_t *)((int)puVar34 + -0x20) = local_b4;" (assignment_expression "*(size_t *)((int)puVar34 + -0x20) = local_b4" (pointer_expression "*(size_t *)((int)puVar34 + -0x20)" * (cast_expression "(size_t *)((int)puVar34 + -0x20)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x20)" ( (binary_expression "(int)puVar34 + -0x20" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo;" (assignment_expression "*(Relocate_info<32,_true> **)((int)puVar34 + -0x24) = relinfo" (pointer_expression "*(Relocate_info<32,_true> **)((int)puVar34 + -0x24)" * (call_expression "(Relocate_info<32,_true> **)((int)puVar34 + -0x24)" (parenthesized_expression "(Relocate_info<32,_true> **)" ( (comma_expression "Relocate_info<32,_true> **" (binary_expression "Relocate_info<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar34 + -0x24)" ( (binary_expression "(int)puVar34 + -0x24" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x28) = 0x9dc30" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x28)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x28)" ( (binary_expression "(int)puVar34 + -0x28" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));" statement_identifier : (ERROR ":" :) (expression_statement "gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10));" (comma_expression "gold_error_at_location<32,_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10))" (binary_expression "gold_error_at_location<32" identifier < number_literal) , (binary_expression "_true>\n                          (*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10))" identifier > (parenthesized_expression "(*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10))" ( (comma_expression "*(gold **)((int)puVar34 + -0x24),\n                           *(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10)" (pointer_expression "*(gold **)((int)puVar34 + -0x24)" * (cast_expression "(gold **)((int)puVar34 + -0x24)" ( (type_descriptor "gold **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x24)" ( (binary_expression "(int)puVar34 + -0x24" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(Relocate_info<32,_true> **)((int)puVar34 + -0x20),\n                           *(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10)" (pointer_expression "*(Relocate_info<32,_true> **)((int)puVar34 + -0x20)" * (call_expression "(Relocate_info<32,_true> **)((int)puVar34 + -0x20)" (parenthesized_expression "(Relocate_info<32,_true> **)" ( (comma_expression "Relocate_info<32,_true> **" (binary_expression "Relocate_info<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar34 + -0x20)" ( (binary_expression "(int)puVar34 + -0x20" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(size_t *)((int)puVar34 + -0x1c),*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10)" (pointer_expression "*(size_t *)((int)puVar34 + -0x1c)" * (cast_expression "(size_t *)((int)puVar34 + -0x1c)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x1c)" ( (binary_expression "(int)puVar34 + -0x1c" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(off_t *)((int)puVar34 + -0x18),\n                           *(char **)((int)puVar34 + -0x10)" (pointer_expression "*(off_t *)((int)puVar34 + -0x18)" * (cast_expression "(off_t *)((int)puVar34 + -0x18)" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x18)" ( (binary_expression "(int)puVar34 + -0x18" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar34 + -0x10)" * (cast_expression "(char **)((int)puVar34 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))))) )))) ;)) (if_statement "if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar34 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;\n                  operator_delete(*(void **)((int)puVar34 + -0x14));\n                }" if (parenthesized_expression "(_found != local_2c)" ( (binary_expression "_found != local_2c" identifier != identifier) )) (compound_statement "{\n                  *(undefined1 **)((int)puVar34 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;\n                  operator_delete(*(void **)((int)puVar34 + -0x14));\n                }" { (expression_statement "*(undefined1 **)((int)puVar34 + -0x14) = _found;" (assignment_expression "*(undefined1 **)((int)puVar34 + -0x14) = _found" (pointer_expression "*(undefined1 **)((int)puVar34 + -0x14)" * (cast_expression "(undefined1 **)((int)puVar34 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x18) = 0x9dc46" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x18)" ( (binary_expression "(int)puVar34 + -0x18" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "operator_delete(*(void **)((int)puVar34 + -0x14));" (call_expression "operator_delete(*(void **)((int)puVar34 + -0x14))" identifier (argument_list "(*(void **)((int)puVar34 + -0x14))" ( (pointer_expression "*(void **)((int)puVar34 + -0x14)" * (cast_expression "(void **)((int)puVar34 + -0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) }))) (expression_statement "*(bool **)((int)puVar34 + -8) = &is_ordinary;" (assignment_expression "*(bool **)((int)puVar34 + -8) = &is_ordinary" (pointer_expression "*(bool **)((int)puVar34 + -8)" * (cast_expression "(bool **)((int)puVar34 + -8)" ( (type_descriptor "bool **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&is_ordinary" & identifier)) ;) (expression_statement "*(Elf_Addr **)((int)puVar34 + -0xc) = &value;" (assignment_expression "*(Elf_Addr **)((int)puVar34 + -0xc) = &value" (pointer_expression "*(Elf_Addr **)((int)puVar34 + -0xc)" * (cast_expression "(Elf_Addr **)((int)puVar34 + -0xc)" ( (type_descriptor "Elf_Addr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&value" & identifier)) ;) (expression_statement "*(uchar **)((int)puVar34 + -0x10) = local_a0;" (assignment_expression "*(uchar **)((int)puVar34 + -0x10) = local_a0" (pointer_expression "*(uchar **)((int)puVar34 + -0x10)" * (cast_expression "(uchar **)((int)puVar34 + -0x10)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;" (assignment_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5" (pointer_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14)" * (call_expression "(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14)" (parenthesized_expression "(Sized_relobj_file<32,_true> **)" ( (comma_expression "Sized_relobj_file<32,_true> **" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)puVar34 + -0x18) = 0x9dc63;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x18) = 0x9dc63" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x18)" ( (binary_expression "(int)puVar34 + -0x18" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "uVar16 = gold::" (assignment_expression "uVar16 = gold" identifier = identifier) : :) (expression_statement "Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)\n                                  ,*(bool **)((int)puVar34 + -8));" (comma_expression "Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)\n                                  ,*(bool **)((int)puVar34 + -8))" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::symbol_section_and_value\n                                 (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)\n                                  ,*(bool **)((int)puVar34 + -8))" identifier > (ERROR "::" : :) (call_expression "symbol_section_and_value\n                                 (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)\n                                  ,*(bool **)((int)puVar34 + -8))" identifier (argument_list "(*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                  *(uint *)((int)puVar34 + -0x10),*(Address **)((int)puVar34 + -0xc)\n                                  ,*(bool **)((int)puVar34 + -8))" ( (pointer_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14)" * (call_expression "(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14)" (parenthesized_expression "(Sized_relobj_file<32,_true> **)" ( (comma_expression "Sized_relobj_file<32,_true> **" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)puVar34 + -0x10)" * (cast_expression "(uint *)((int)puVar34 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(Address **)((int)puVar34 + -0xc)" * (cast_expression "(Address **)((int)puVar34 + -0xc)" ( (type_descriptor "Address **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(bool **)((int)puVar34 + -8)" * (cast_expression "(bool **)((int)puVar34 + -8)" ( (type_descriptor "bool **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (if_statement "if (uVar16 != 0) {\n                *(uint **)((int)puVar34 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar34 + -0x10) = uVar16;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e18c;\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar34 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;\n                  pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10));\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;\n                  uVar26 = gettext();\n                  *(char **)((int)puVar34 + -0x10) = pcVar27;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;\n                  uVar26 = gettext();\n                  *(pointer *)((int)puVar34 + -0x10) = pcVar10;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n              }" if (parenthesized_expression "(uVar16 != 0)" ( (binary_expression "uVar16 != 0" identifier != number_literal) )) (compound_statement "{\n                *(uint **)((int)puVar34 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar34 + -0x10) = uVar16;\n                *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */\n                *(undefined4 *)((int)puVar34 + -0x18) = 0x9e18c;\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar34 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;\n                  pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10));\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;\n                  uVar26 = gettext();\n                  *(char **)((int)puVar34 + -0x10) = pcVar27;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;\n                  uVar26 = gettext();\n                  *(pointer *)((int)puVar34 + -0x10) = pcVar10;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }\n              }" { (expression_statement "*(uint **)((int)puVar34 + -0xc) = &key_symndx;" (assignment_expression "*(uint **)((int)puVar34 + -0xc) = &key_symndx" (pointer_expression "*(uint **)((int)puVar34 + -0xc)" * (cast_expression "(uint **)((int)puVar34 + -0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&key_symndx" & identifier)) ;) (expression_statement "*(uint *)((int)puVar34 + -0x10) = uVar16;" (assignment_expression "*(uint *)((int)puVar34 + -0x10) = uVar16" (pointer_expression "*(uint *)((int)puVar34 + -0x10)" * (cast_expression "(uint *)((int)puVar34 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;" (assignment_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5" (pointer_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14)" * (call_expression "(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14)" (parenthesized_expression "(Sized_relobj_file<32,_true> **)" ( (comma_expression "Sized_relobj_file<32,_true> **" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)puVar34 + -0x18) = 0x9e18c;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x18) = 0x9e18c" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x18)" ( (binary_expression "(int)puVar34 + -0x18" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "pRVar25 = gold::" (assignment_expression "pRVar25 = gold" identifier = identifier) : :) (expression_statement "Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    );" (comma_expression "Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    )" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    )" identifier > (ERROR "::" : :) (call_expression "find_kept_section_object\n                                    (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    )" identifier (argument_list "(*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                     *(uint *)((int)puVar34 + -0x10),*(uint **)((int)puVar34 + -0xc)\n                                    )" ( (pointer_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14)" * (call_expression "(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14)" (parenthesized_expression "(Sized_relobj_file<32,_true> **)" ( (comma_expression "Sized_relobj_file<32,_true> **" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)puVar34 + -0x10)" * (cast_expression "(uint *)((int)puVar34 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint **)((int)puVar34 + -0xc)" * (cast_expression "(uint **)((int)puVar34 + -0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (if_statement "if (key_symndx != 0) {\n                  *(uint *)((int)puVar34 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;\n                  pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10));\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;\n                  uVar26 = gettext();\n                  *(char **)((int)puVar34 + -0x10) = pcVar27;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }" if (parenthesized_expression "(key_symndx != 0)" ( (binary_expression "key_symndx != 0" identifier != number_literal) )) (compound_statement "{\n                  *(uint *)((int)puVar34 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;\n                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;\n                  pcVar27 = gold::Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10));\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;\n                  uVar26 = gettext();\n                  *(char **)((int)puVar34 + -0x10) = pcVar27;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }" { (expression_statement "*(uint *)((int)puVar34 + -0x10) = key_symndx;" (assignment_expression "*(uint *)((int)puVar34 + -0x10) = key_symndx" (pointer_expression "*(uint *)((int)puVar34 + -0x10)" * (cast_expression "(uint *)((int)puVar34 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5;" (assignment_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14) = pSVar5" (pointer_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14)" * (call_expression "(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14)" (parenthesized_expression "(Sized_relobj_file<32,_true> **)" ( (comma_expression "Sized_relobj_file<32,_true> **" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)puVar34 + -0x18) = 0x9f038;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x18) = 0x9f038" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x18)" ( (binary_expression "(int)puVar34 + -0x18" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "pcVar27 = gold::" (assignment_expression "pcVar27 = gold" identifier = identifier) : :) (expression_statement "Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10));" (comma_expression "Sized_relobj_file<32,_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10))" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10))" identifier > (ERROR "::" : :) (call_expression "get_symbol_name\n                                      (*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10))" identifier (argument_list "(*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14),\n                                       *(uint *)((int)puVar34 + -0x10))" ( (pointer_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14)" * (call_expression "(Sized_relobj_file<32,_true> **)((int)puVar34 + -0x14)" (parenthesized_expression "(Sized_relobj_file<32,_true> **)" ( (comma_expression "Sized_relobj_file<32,_true> **" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)puVar34 + -0x10)" * (cast_expression "(uint *)((int)puVar34 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "*(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf;" (assignment_expression "*(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671cf" (pointer_expression "*(undefined ***)((int)puVar34 + -0x14)" * (cast_expression "(undefined ***)((int)puVar34 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_94 + -0x671cf" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0x18) = 0x9f050;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x18) = 0x9f050" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x18)" ( (binary_expression "(int)puVar34 + -0x18" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar26 = gettext();" (assignment_expression "uVar26 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(char **)((int)puVar34 + -0x10) = pcVar27;" (assignment_expression "*(char **)((int)puVar34 + -0x10) = pcVar27" (pointer_expression "*(char **)((int)puVar34 + -0x10)" * (cast_expression "(char **)((int)puVar34 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0x14) = uVar26;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x14) = uVar26" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x18) = 0x9f05f" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x18)" ( (binary_expression "(int)puVar34 + -0x18" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::gold_info(*(char **)((int)puVar34 + -0x14));" statement_identifier : (ERROR ":" :) (expression_statement "gold_info(*(char **)((int)puVar34 + -0x14));" (call_expression "gold_info(*(char **)((int)puVar34 + -0x14))" identifier (argument_list "(*(char **)((int)puVar34 + -0x14))" ( (pointer_expression "*(char **)((int)puVar34 + -0x14)" * (cast_expression "(char **)((int)puVar34 + -0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (if_statement "if (pRVar25 != (Relobj *)0x0) {\n                  pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;\n                  uVar26 = gettext();\n                  *(pointer *)((int)puVar34 + -0x10) = pcVar10;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }" if (parenthesized_expression "(pRVar25 != (Relobj *)0x0)" ( (binary_expression "pRVar25 != (Relobj *)0x0" identifier != (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;\n                  uVar26 = gettext();\n                  *(pointer *)((int)puVar34 + -0x10) = pcVar10;\n                  *(undefined4 *)((int)puVar34 + -0x14) = uVar26;\n                  *(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;\n                  gold::gold_info(*(char **)((int)puVar34 + -0x14));\n                }" { (expression_statement "pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p;" (assignment_expression "pcVar10 = (pRVar25->super_Object).name_._M_dataplus._M_p" identifier = (field_expression "(pRVar25->super_Object).name_._M_dataplus._M_p" (field_expression "(pRVar25->super_Object).name_._M_dataplus" (field_expression "(pRVar25->super_Object).name_" (parenthesized_expression "(pRVar25->super_Object)" ( (field_expression "pRVar25->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "*(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7;" (assignment_expression "*(undefined ***)((int)puVar34 + -0x14) = local_94 + -0x671c7" (pointer_expression "*(undefined ***)((int)puVar34 + -0x14)" * (cast_expression "(undefined ***)((int)puVar34 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_94 + -0x671c7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x18) = 0x9e1be" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x18)" ( (binary_expression "(int)puVar34 + -0x18" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar26 = gettext();" (assignment_expression "uVar26 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(pointer *)((int)puVar34 + -0x10) = pcVar10;" (assignment_expression "*(pointer *)((int)puVar34 + -0x10) = pcVar10" (pointer_expression "*(pointer *)((int)puVar34 + -0x10)" * (cast_expression "(pointer *)((int)puVar34 + -0x10)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0x14) = uVar26;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x14) = uVar26" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x18) = 0x9e1c7" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x18)" ( (binary_expression "(int)puVar34 + -0x18" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::gold_info(*(char **)((int)puVar34 + -0x14));" statement_identifier : (ERROR ":" :) (expression_statement "gold_info(*(char **)((int)puVar34 + -0x14));" (call_expression "gold_info(*(char **)((int)puVar34 + -0x14))" identifier (argument_list "(*(char **)((int)puVar34 + -0x14))" ( (pointer_expression "*(char **)((int)puVar34 + -0x14)" * (cast_expression "(char **)((int)puVar34 + -0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) })) (expression_statement "local_c0 = 3;" (assignment_expression "local_c0 = 3" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }" else (compound_statement "{\nLAB_0009dc9a:\n              local_c0 = 2;\n            }" { (labeled_statement "LAB_0009dc9a:\n              local_c0 = 2;" statement_identifier : (expression_statement "local_c0 = 2;" (assignment_expression "local_c0 = 2" identifier = number_literal) ;)) }))) (expression_statement "symval2.u_.value = 0;" (assignment_expression "symval2.u_.value = 0" (field_expression "symval2.u_.value" (field_expression "symval2.u_" identifier . field_identifier) . field_identifier) = number_literal) ;) }))) (expression_statement "puVar33 = (undefined4 *)((int)puVar34 + -4);" (assignment_expression "puVar33 = (undefined4 *)((int)puVar34 + -4)" identifier = (cast_expression "(undefined4 *)((int)puVar34 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -4)" ( (binary_expression "(int)puVar34 + -4" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar34 + -0xc) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0x10) = 0x716;\n            *(int *)((int)puVar34 + -0x14) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined1 **)((int)puVar34 + -0x18) = &LAB_0009f212;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x14),*(int *)((int)puVar34 + -0x10),\n                       *(char **)((int)puVar34 + -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)puVar34 + -0xc) = local_94 + -0x650e4;\n            *(undefined4 *)((int)puVar34 + -0x10) = 0x716;\n            *(int *)((int)puVar34 + -0x14) = (int)local_94 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */\n            *(undefined1 **)((int)puVar34 + -0x18) = &LAB_0009f212;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x14),*(int *)((int)puVar34 + -0x10),\n                       *(char **)((int)puVar34 + -0xc));\n          }" { (expression_statement "*(undefined ***)((int)puVar34 + -0xc) = local_94 + -0x650e4;" (assignment_expression "*(undefined ***)((int)puVar34 + -0xc) = local_94 + -0x650e4" (pointer_expression "*(undefined ***)((int)puVar34 + -0xc)" * (cast_expression "(undefined ***)((int)puVar34 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_94 + -0x650e4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0x10) = 0x716;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x10) = 0x716" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar34 + -0x14) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)((int)puVar34 + -0x14) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)((int)puVar34 + -0x14)" * (cast_expression "(int *)((int)puVar34 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined1 **)((int)puVar34 + -0x18) = &LAB_0009f212;" (assignment_expression "*(undefined1 **)((int)puVar34 + -0x18) = &LAB_0009f212" (pointer_expression "*(undefined1 **)((int)puVar34 + -0x18)" * (cast_expression "(undefined1 **)((int)puVar34 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x18)" ( (binary_expression "(int)puVar34 + -0x18" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&LAB_0009f212" & identifier)) ;) (labeled_statement "gold::do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x14),*(int *)((int)puVar34 + -0x10),\n                       *(char **)((int)puVar34 + -0xc));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x14),*(int *)((int)puVar34 + -0x10),\n                       *(char **)((int)puVar34 + -0xc));" (call_expression "do_gold_unreachable\n                      (*(char **)((int)puVar34 + -0x14),*(int *)((int)puVar34 + -0x10),\n                       *(char **)((int)puVar34 + -0xc))" identifier (argument_list "(*(char **)((int)puVar34 + -0x14),*(int *)((int)puVar34 + -0x10),\n                       *(char **)((int)puVar34 + -0xc))" ( (pointer_expression "*(char **)((int)puVar34 + -0x14)" * (cast_expression "(char **)((int)puVar34 + -0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar34 + -0x10)" * (cast_expression "(int *)((int)puVar34 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar34 + -0xc)" * (cast_expression "(char **)((int)puVar34 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (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 ((undefined1 *)symval_1.output_symtab_index_ != &symval_1.field_0x8) {\n            *(uint *)((int)puVar34 + -0x14) = symval_1.output_symtab_index_;\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9dadb;\n            operator_delete(*(void **)((int)puVar34 + -0x14));\n          }" if (parenthesized_expression "((undefined1 *)symval_1.output_symtab_index_ != &symval_1.field_0x8)" ( (binary_expression "(undefined1 *)symval_1.output_symtab_index_ != &symval_1.field_0x8" (cast_expression "(undefined1 *)symval_1.output_symtab_index_" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "symval_1.output_symtab_index_" identifier . field_identifier)) != (pointer_expression "&symval_1.field_0x8" & (field_expression "symval_1.field_0x8" identifier . field_identifier))) )) (compound_statement "{\n            *(uint *)((int)puVar34 + -0x14) = symval_1.output_symtab_index_;\n            *(undefined4 *)((int)puVar34 + -0x18) = 0x9dadb;\n            operator_delete(*(void **)((int)puVar34 + -0x14));\n          }" { (expression_statement "*(uint *)((int)puVar34 + -0x14) = symval_1.output_symtab_index_;" (assignment_expression "*(uint *)((int)puVar34 + -0x14) = symval_1.output_symtab_index_" (pointer_expression "*(uint *)((int)puVar34 + -0x14)" * (cast_expression "(uint *)((int)puVar34 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "symval_1.output_symtab_index_" identifier . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar34 + -0x18) = 0x9dadb;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x18) = 0x9dadb" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x18)" ( (binary_expression "(int)puVar34 + -0x18" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "operator_delete(*(void **)((int)puVar34 + -0x14));" (call_expression "operator_delete(*(void **)((int)puVar34 + -0x14))" identifier (argument_list "(*(void **)((int)puVar34 + -0x14))" ( (pointer_expression "*(void **)((int)puVar34 + -0x14)" * (cast_expression "(void **)((int)puVar34 + -0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "local_d0 = &symval2;" (assignment_expression "local_d0 = &symval2" identifier = (pointer_expression "&symval2" & identifier)) ;) (expression_statement "local_9c = &symval2;" (assignment_expression "local_9c = &symval2" identifier = (pointer_expression "&symval2" & identifier)) ;) (expression_statement "uVar16 = *(uint *)(prelocs + 4) >> 0x18;" (assignment_expression "uVar16 = *(uint *)(prelocs + 4) >> 0x18" identifier = (binary_expression "*(uint *)(prelocs + 4) >> 0x18" (pointer_expression "*(uint *)(prelocs + 4)" * (cast_expression "(uint *)(prelocs + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(prelocs + 4)" ( (binary_expression "prelocs + 4" identifier + number_literal) )))) >> number_literal)) ;) }))) (expression_statement "local_b8 = uVar16 & 0xff;" (assignment_expression "local_b8 = uVar16 & 0xff" identifier = (binary_expression "uVar16 & 0xff" identifier & number_literal)) ;) (expression_statement "bVar30 = (byte)local_9c->field_0xb >> 6 & 1;" (assignment_expression "bVar30 = (byte)local_9c->field_0xb >> 6 & 1" identifier = (binary_expression "(byte)local_9c->field_0xb >> 6 & 1" (binary_expression "(byte)local_9c->field_0xb >> 6" (cast_expression "(byte)local_9c->field_0xb" ( (type_descriptor "byte" type_identifier) ) (field_expression "local_9c->field_0xb" identifier -> field_identifier)) >> number_literal) & number_literal)) ;) (if_statement "if (((int)local_c4 < 0) || (view_size <= local_c4)) {\n          local_a0 = (uchar *)0x0;\n          rela.p_ = (Rela_data<32> *)prelocs;\nLAB_0009dcd4:\n          rela.p_ = (Rela_data<32> *)prelocs;\n          puVar33[-4] = (int)local_94 + -0x19ca7f;\n          puVar33[-5] = 0x9dceb;\n          uVar26 = gettext();\n          puVar33[-3] = local_c4;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = (int)local_c4 >> 0x1f;\n          puVar33[-6] = local_c4;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */\n          puVar33[-9] = 0x9dd08;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n        }\n        else {\n          local_a0 = view + local_c4;\n          rela.p_ = (Rela_data<32> *)prelocs;\n          if (local_a0 == (uchar *)0x0) goto LAB_0009dcd4;\n          if (local_a0 == (uchar *)0x0) {\n            local_a0 = (uchar *)0xfffffffc;\n          }\n          symval_1.output_symtab_index_ = 0;\n          symval_1.output_dynsym_index_ = 0xffffffff;\n          local_a4 = relinfo->object;\n          symval_1._8_4_ = 0x80000000;\n          symval_1.u_.value = 0;\n          if (local_90 == (Symbol_table *)0x0) {\n            if (bVar30 == 0) {\n              uVar16 = *(uint *)(prelocs + 8);\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009d56d;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009ddfa;\n                }\n                local_b0 = &symval_1;\n                goto LAB_0009d200;\n              }\nLAB_0009d1f2:\n              local_b0 = &symval_1;\n            }\n            else {\n              uVar16 = *(uint *)(prelocs + 4);\n              local_ac = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n              puVar33[-3] = local_ac;\n              puVar33[-4] = local_a4;\n              local_b0 = &symval_1;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n              puVar33[-5] = 0x9dda9;\n              bVar13 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset\n                                 ((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3]);\n              if (bVar13) {\n                iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                if (iVar20 == 0) {\n                  local_b0 = &symval_1;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                  puVar33[-1] = 0x9f3a6;\n                  plt_section((Target_sparc<32,_true> *)*puVar33);\n                  pSVar29 = extraout_ECX_00;\n                  goto LAB_0009f3a6;\n                }\n                if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                  puVar33[-1] = extraout_ECX;\n                  puVar33[-2] = local_94 + -0x64eef;\n                  puVar33[-3] = 0xc5;\n                  puVar33[-4] = (int)local_94 + -0x19cca3;\n                  local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f3ed;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                iVar6 = *(int *)(iVar20 + 0x34);\n                local_b0 = &symval_1;\n                iVar20 = *(int *)(iVar20 + 4);\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-3] = local_ac;\n                puVar33[-4] = local_a4;\n                p_Var2 = pp_Var1[0x2a];\n                puVar33[-5] = 0x9de86;\n                iVar23 = (*p_Var2)();\n                symval_1.u_.merged_symbol_value =\n                     (Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23);\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n              }\n              else {\n                local_b0 = &symval_1;\n              }\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) goto LAB_0009d200;\n              if (local_b8 < 0x10) {\nLAB_0009d56d:\n                uVar16 = (rela.p_)->r_info;\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                uVar16 = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2b];\n                puVar33[-9] = 0x9d58e;\n                iVar20 = (*p_Var2)();\n                if ((char)iVar20 == '\0') {\n                  puVar33[-2] = local_94 + -0x650e7;\n                  puVar33[-3] = 0xd2c;\n                  puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f357;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2c];\n                puVar33[-9] = 0x9d5b2;\n                (*p_Var2)();\n                goto LAB_0009d200;\n              }\n              if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009ddfa:\n              puVar33[-2] = local_ac;\n              puVar33[-3] = local_a4;\n              puVar33[-4] = local_9c;\n              puVar33[-5] = 0x9de14;\n              VVar22 = gold::Symbol_value<32>::value<true>\n                                 ((Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n            return;\n          }\n          puVar33[-4] = local_94 + -0x672b6;\n          puVar33[-5] = 0x9e3bf;\n          uVar26 = gettext();\n          uVar16 = (rela.p_)->r_offset;\n          puVar33[-3] = local_b8;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = 0;\n          puVar33[-6] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                        uVar16 << 0x18;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n          puVar33[-9] = 0x9e3e3;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n          puVar33[-4] = local_b0;\n          puVar33[-5] = 0x9d286;\n          gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n          if (local_90 != (Symbol_table *)0x0) {\n            bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n            bVar14 = bVar30 & 7;\n            pSVar32 = local_90;\n            if ((bVar30 & 7) == 0) {\n              if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n                 (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n                pSVar29 = *(Symbol_table **)&local_90->offset_;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 != pSVar32) {\n                  puVar33[-4] = pSVar29;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d736;\n                  iVar20 = (*(code *)pSVar3)();\n                  if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }\n                  goto LAB_0009d970;\n                }\nLAB_0009d2df:\n                bVar30 = bVar30 & 7;\n                bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                bVar14 = bVar28 & 3;\n                if ((bVar28 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }\nLAB_0009d312:\n                if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }\n                goto LAB_0009d380;\n              }\nLAB_0009d63d:\n              bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              if ((bVar28 >> 4 == 2) ||\n                 (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)) {\nLAB_0009d970:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d943:\n                if (bVar14 == 0) goto LAB_0009d380;\n                bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                pSVar29 = (Symbol_table *)(uint)bVar30;\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                bVar30 = bVar30 & 7;\n                if (bVar30 != 0) goto LAB_0009d6cc;\n                goto LAB_0009d2fb;\n              }\n              pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-1] = 0;\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f447;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (p_Var2[0x49b1] != (_func_int_varargs)0x0) goto LAB_0009d970;\n              if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) < '\0') {\n                if (bVar14 != 0) goto LAB_0009d6b0;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\nLAB_0009d900:\n                pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 == pSVar32) goto LAB_0009d2df;\n                puVar33[-4] = pSVar29;\n                puVar33[-5] = 0x9d91c;\n                iVar20 = (*(code *)pSVar3)();\n                pSVar32 = local_e0;\n                if (iVar20 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                goto LAB_0009d943;\n              }\nLAB_0009d779:\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-2] = local_94 + -0x64fb7;\n                puVar33[-3] = 0x69;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f336;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              iVar20 = *(int *)p_Var2;\n              puVar33[-3] = local_90;\n              puVar33[-4] = p_Var2;\n              pcVar4 = *(code **)(iVar20 + 0x1c);\n              puVar33[-5] = 0x9d795;\n              cVar15 = (*pcVar4)();\n              if (cVar15 != '\0') goto LAB_0009d930;\n              pSVar32 = (Symbol_table *)\n                        ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (pSVar32 == (Symbol_table *)0x0) {\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f398;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              pbVar36 = (byte *)(pSVar32 + 0x2e)[1].output_count_;\n              bVar13 = false;\n              bVar40 = pbVar36 == (byte *)0x0;\n              if (bVar40) {\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d85a:\n                if ((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))\n                goto LAB_0009d874;\n                goto LAB_0009d943;\n              }\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1fa6);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar13 = *pbVar35 < *pbVar37;\n                bVar40 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar13 = (!bVar13 && !bVar40) == bVar13;\n              if (bVar13) goto LAB_0009d930;\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1f9b);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar35 < *pbVar37;\n                bVar13 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x17;\n                pbVar35 = pbVar36;\n                ppuVar38 = local_94 + -0x687e4;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar35 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar35 == *(byte *)ppuVar38;\n                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if ((!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)) {\n                  bVar40 = false;\n                  iVar20 = 0x16;\n                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;\n                }\n                goto LAB_0009d943;\n              }\nLAB_0009d874:\n              puVar33[-4] = (int)local_c4 >> 0x1f;\n              puVar33[-5] = local_c4;\n              puVar33[-6] = local_b4;\n              puVar33[-7] = relinfo;\n              puVar33[-8] = local_90;\n              puVar33[-9] = 0x9d89a;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            else {\n              if (bVar14 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n              bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              bVar14 = bVar28 & 3;\n              if ((bVar28 & 3) != 0) {\n                bVar30 = bVar30 & 7;\nLAB_0009d6cc:\n                if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }\n              }\nLAB_0009d380:\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            if ((bVar30 & 4) != 0) {\n              puVar33[-3] = (int)local_c4 >> 0x1f;\n              puVar33[-4] = local_c4;\n              puVar33[-5] = local_b4;\n              pSVar29 = relinfo->symtab;\n              puVar33[-6] = relinfo;\n              puVar33[-7] = local_90;\n              local_90 = pSVar29;\n              puVar33[-8] = &pSVar29->warnings_;\n              puVar33[-9] = 0x9d8e4;\n              gold::Warnings::issue_warning<32,_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n            }\n          }\n        }\n        puVar33[-4] = local_d0;\n        puVar33[-5] = 0x9d39e;\n        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n        puVar33[-4] = local_bc;\n        puVar33[-5] = 0x9d3aa;\n        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n        puVar34 = puVar33;\n      }" if (parenthesized_expression "(((int)local_c4 < 0) || (view_size <= local_c4))" ( (binary_expression "((int)local_c4 < 0) || (view_size <= local_c4)" (parenthesized_expression "((int)local_c4 < 0)" ( (binary_expression "(int)local_c4 < 0" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(view_size <= local_c4)" ( (binary_expression "view_size <= local_c4" identifier <= identifier) ))) )) (compound_statement "{\n          local_a0 = (uchar *)0x0;\n          rela.p_ = (Rela_data<32> *)prelocs;\nLAB_0009dcd4:\n          rela.p_ = (Rela_data<32> *)prelocs;\n          puVar33[-4] = (int)local_94 + -0x19ca7f;\n          puVar33[-5] = 0x9dceb;\n          uVar26 = gettext();\n          puVar33[-3] = local_c4;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = (int)local_c4 >> 0x1f;\n          puVar33[-6] = local_c4;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */\n          puVar33[-9] = 0x9dd08;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n        }" { (expression_statement "local_a0 = (uchar *)0x0;" (assignment_expression "local_a0 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "rela.p_ = (Rela_data<32> *)prelocs;" (assignment_expression "rela.p_ = (Rela_data<32> *)prelocs" (field_expression "rela.p_" identifier . field_identifier) = (parenthesized_expression "(Rela_data<32> *)prelocs" ( (binary_expression "Rela_data<32> *)prelocs" (binary_expression "Rela_data<32" identifier < number_literal) > (pointer_expression "*)prelocs" * (ERROR ")" )) identifier)) ))) ;) (labeled_statement "LAB_0009dcd4:\n          rela.p_ = (Rela_data<32> *)prelocs;" statement_identifier : (expression_statement "rela.p_ = (Rela_data<32> *)prelocs;" (assignment_expression "rela.p_ = (Rela_data<32> *)prelocs" (field_expression "rela.p_" identifier . field_identifier) = (parenthesized_expression "(Rela_data<32> *)prelocs" ( (binary_expression "Rela_data<32> *)prelocs" (binary_expression "Rela_data<32" identifier < number_literal) > (pointer_expression "*)prelocs" * (ERROR ")" )) identifier)) ))) ;)) (expression_statement "puVar33[-4] = (int)local_94 + -0x19ca7f;" (assignment_expression "puVar33[-4] = (int)local_94 + -0x19ca7f" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_94 + -0x19ca7f" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "puVar33[-5] = 0x9dceb;" (assignment_expression "puVar33[-5] = 0x9dceb" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar26 = gettext();" (assignment_expression "uVar26 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar33[-3] = local_c4;" (assignment_expression "puVar33[-3] = local_c4" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-4] = uVar26;" (assignment_expression "puVar33[-4] = uVar26" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-5] = (int)local_c4 >> 0x1f;" (assignment_expression "puVar33[-5] = (int)local_c4 >> 0x1f" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = (binary_expression "(int)local_c4 >> 0x1f" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "puVar33[-6] = local_c4;" (assignment_expression "puVar33[-6] = local_c4" (subscript_expression "puVar33[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-7] = local_b4;" (assignment_expression "puVar33[-7] = local_b4" (subscript_expression "puVar33[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-8] = relinfo;" (assignment_expression "puVar33[-8] = relinfo" (subscript_expression "puVar33[-8]" identifier [ number_literal ]) = identifier) ;) comment (expression_statement "puVar33[-9] = 0x9dd08;" (assignment_expression "puVar33[-9] = 0x9dd08" (subscript_expression "puVar33[-9]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);" (comma_expression "gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3])" (binary_expression "gold_error_at_location<32" identifier < number_literal) , (binary_expression "_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3])" identifier > (parenthesized_expression "((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3])" ( (comma_expression "(gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3])" (cast_expression "(gold *)puVar33[-8]" ( (type_descriptor "gold *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-8]" identifier [ number_literal ])) , (parenthesized_expression "(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3])" ( (comma_expression "Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]" (binary_expression "Relocate_info<32" identifier < number_literal) , (comma_expression "_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]" (binary_expression "_true> *)puVar33[-7]" identifier > (pointer_expression "*)puVar33[-7]" * (ERROR ")" )) (subscript_expression "puVar33[-7]" identifier [ number_literal ]))) , (comma_expression "puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]" (subscript_expression "puVar33[-6]" identifier [ number_literal ]) , (comma_expression "*(off_t *)(puVar33 + -5),(char *)puVar33[-3]" (pointer_expression "*(off_t *)(puVar33 + -5)" * (cast_expression "(off_t *)(puVar33 + -5)" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + -5)" ( (binary_expression "puVar33 + -5" identifier + number_literal) )))) , (cast_expression "(char *)puVar33[-3]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-3]" identifier [ number_literal ])))))) ))) )))) ;)) }) (else_clause "else {\n          local_a0 = view + local_c4;\n          rela.p_ = (Rela_data<32> *)prelocs;\n          if (local_a0 == (uchar *)0x0) goto LAB_0009dcd4;\n          if (local_a0 == (uchar *)0x0) {\n            local_a0 = (uchar *)0xfffffffc;\n          }\n          symval_1.output_symtab_index_ = 0;\n          symval_1.output_dynsym_index_ = 0xffffffff;\n          local_a4 = relinfo->object;\n          symval_1._8_4_ = 0x80000000;\n          symval_1.u_.value = 0;\n          if (local_90 == (Symbol_table *)0x0) {\n            if (bVar30 == 0) {\n              uVar16 = *(uint *)(prelocs + 8);\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009d56d;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009ddfa;\n                }\n                local_b0 = &symval_1;\n                goto LAB_0009d200;\n              }\nLAB_0009d1f2:\n              local_b0 = &symval_1;\n            }\n            else {\n              uVar16 = *(uint *)(prelocs + 4);\n              local_ac = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n              puVar33[-3] = local_ac;\n              puVar33[-4] = local_a4;\n              local_b0 = &symval_1;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n              puVar33[-5] = 0x9dda9;\n              bVar13 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset\n                                 ((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3]);\n              if (bVar13) {\n                iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                if (iVar20 == 0) {\n                  local_b0 = &symval_1;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                  puVar33[-1] = 0x9f3a6;\n                  plt_section((Target_sparc<32,_true> *)*puVar33);\n                  pSVar29 = extraout_ECX_00;\n                  goto LAB_0009f3a6;\n                }\n                if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                  puVar33[-1] = extraout_ECX;\n                  puVar33[-2] = local_94 + -0x64eef;\n                  puVar33[-3] = 0xc5;\n                  puVar33[-4] = (int)local_94 + -0x19cca3;\n                  local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f3ed;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                iVar6 = *(int *)(iVar20 + 0x34);\n                local_b0 = &symval_1;\n                iVar20 = *(int *)(iVar20 + 4);\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-3] = local_ac;\n                puVar33[-4] = local_a4;\n                p_Var2 = pp_Var1[0x2a];\n                puVar33[-5] = 0x9de86;\n                iVar23 = (*p_Var2)();\n                symval_1.u_.merged_symbol_value =\n                     (Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23);\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n              }\n              else {\n                local_b0 = &symval_1;\n              }\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) goto LAB_0009d200;\n              if (local_b8 < 0x10) {\nLAB_0009d56d:\n                uVar16 = (rela.p_)->r_info;\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                uVar16 = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2b];\n                puVar33[-9] = 0x9d58e;\n                iVar20 = (*p_Var2)();\n                if ((char)iVar20 == '\0') {\n                  puVar33[-2] = local_94 + -0x650e7;\n                  puVar33[-3] = 0xd2c;\n                  puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f357;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2c];\n                puVar33[-9] = 0x9d5b2;\n                (*p_Var2)();\n                goto LAB_0009d200;\n              }\n              if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009ddfa:\n              puVar33[-2] = local_ac;\n              puVar33[-3] = local_a4;\n              puVar33[-4] = local_9c;\n              puVar33[-5] = 0x9de14;\n              VVar22 = gold::Symbol_value<32>::value<true>\n                                 ((Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n            return;\n          }\n          puVar33[-4] = local_94 + -0x672b6;\n          puVar33[-5] = 0x9e3bf;\n          uVar26 = gettext();\n          uVar16 = (rela.p_)->r_offset;\n          puVar33[-3] = local_b8;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = 0;\n          puVar33[-6] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                        uVar16 << 0x18;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n          puVar33[-9] = 0x9e3e3;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n          puVar33[-4] = local_b0;\n          puVar33[-5] = 0x9d286;\n          gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n          if (local_90 != (Symbol_table *)0x0) {\n            bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n            bVar14 = bVar30 & 7;\n            pSVar32 = local_90;\n            if ((bVar30 & 7) == 0) {\n              if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n                 (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n                pSVar29 = *(Symbol_table **)&local_90->offset_;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 != pSVar32) {\n                  puVar33[-4] = pSVar29;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d736;\n                  iVar20 = (*(code *)pSVar3)();\n                  if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }\n                  goto LAB_0009d970;\n                }\nLAB_0009d2df:\n                bVar30 = bVar30 & 7;\n                bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                bVar14 = bVar28 & 3;\n                if ((bVar28 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }\nLAB_0009d312:\n                if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }\n                goto LAB_0009d380;\n              }\nLAB_0009d63d:\n              bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              if ((bVar28 >> 4 == 2) ||\n                 (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)) {\nLAB_0009d970:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d943:\n                if (bVar14 == 0) goto LAB_0009d380;\n                bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                pSVar29 = (Symbol_table *)(uint)bVar30;\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                bVar30 = bVar30 & 7;\n                if (bVar30 != 0) goto LAB_0009d6cc;\n                goto LAB_0009d2fb;\n              }\n              pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-1] = 0;\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f447;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (p_Var2[0x49b1] != (_func_int_varargs)0x0) goto LAB_0009d970;\n              if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) < '\0') {\n                if (bVar14 != 0) goto LAB_0009d6b0;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\nLAB_0009d900:\n                pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 == pSVar32) goto LAB_0009d2df;\n                puVar33[-4] = pSVar29;\n                puVar33[-5] = 0x9d91c;\n                iVar20 = (*(code *)pSVar3)();\n                pSVar32 = local_e0;\n                if (iVar20 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                goto LAB_0009d943;\n              }\nLAB_0009d779:\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-2] = local_94 + -0x64fb7;\n                puVar33[-3] = 0x69;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f336;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              iVar20 = *(int *)p_Var2;\n              puVar33[-3] = local_90;\n              puVar33[-4] = p_Var2;\n              pcVar4 = *(code **)(iVar20 + 0x1c);\n              puVar33[-5] = 0x9d795;\n              cVar15 = (*pcVar4)();\n              if (cVar15 != '\0') goto LAB_0009d930;\n              pSVar32 = (Symbol_table *)\n                        ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (pSVar32 == (Symbol_table *)0x0) {\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f398;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              pbVar36 = (byte *)(pSVar32 + 0x2e)[1].output_count_;\n              bVar13 = false;\n              bVar40 = pbVar36 == (byte *)0x0;\n              if (bVar40) {\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d85a:\n                if ((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))\n                goto LAB_0009d874;\n                goto LAB_0009d943;\n              }\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1fa6);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar13 = *pbVar35 < *pbVar37;\n                bVar40 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar13 = (!bVar13 && !bVar40) == bVar13;\n              if (bVar13) goto LAB_0009d930;\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1f9b);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar35 < *pbVar37;\n                bVar13 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x17;\n                pbVar35 = pbVar36;\n                ppuVar38 = local_94 + -0x687e4;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar35 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar35 == *(byte *)ppuVar38;\n                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if ((!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)) {\n                  bVar40 = false;\n                  iVar20 = 0x16;\n                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;\n                }\n                goto LAB_0009d943;\n              }\nLAB_0009d874:\n              puVar33[-4] = (int)local_c4 >> 0x1f;\n              puVar33[-5] = local_c4;\n              puVar33[-6] = local_b4;\n              puVar33[-7] = relinfo;\n              puVar33[-8] = local_90;\n              puVar33[-9] = 0x9d89a;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            else {\n              if (bVar14 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n              bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              bVar14 = bVar28 & 3;\n              if ((bVar28 & 3) != 0) {\n                bVar30 = bVar30 & 7;\nLAB_0009d6cc:\n                if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }\n              }\nLAB_0009d380:\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            if ((bVar30 & 4) != 0) {\n              puVar33[-3] = (int)local_c4 >> 0x1f;\n              puVar33[-4] = local_c4;\n              puVar33[-5] = local_b4;\n              pSVar29 = relinfo->symtab;\n              puVar33[-6] = relinfo;\n              puVar33[-7] = local_90;\n              local_90 = pSVar29;\n              puVar33[-8] = &pSVar29->warnings_;\n              puVar33[-9] = 0x9d8e4;\n              gold::Warnings::issue_warning<32,_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n            }\n          }\n        }\n        puVar33[-4] = local_d0;\n        puVar33[-5] = 0x9d39e;\n        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n        puVar33[-4] = local_bc;\n        puVar33[-5] = 0x9d3aa;\n        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n        puVar34 = puVar33;\n      }" else (compound_statement "{\n          local_a0 = view + local_c4;\n          rela.p_ = (Rela_data<32> *)prelocs;\n          if (local_a0 == (uchar *)0x0) goto LAB_0009dcd4;\n          if (local_a0 == (uchar *)0x0) {\n            local_a0 = (uchar *)0xfffffffc;\n          }\n          symval_1.output_symtab_index_ = 0;\n          symval_1.output_dynsym_index_ = 0xffffffff;\n          local_a4 = relinfo->object;\n          symval_1._8_4_ = 0x80000000;\n          symval_1.u_.value = 0;\n          if (local_90 == (Symbol_table *)0x0) {\n            if (bVar30 == 0) {\n              uVar16 = *(uint *)(prelocs + 8);\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009d56d;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009ddfa;\n                }\n                local_b0 = &symval_1;\n                goto LAB_0009d200;\n              }\nLAB_0009d1f2:\n              local_b0 = &symval_1;\n            }\n            else {\n              uVar16 = *(uint *)(prelocs + 4);\n              local_ac = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n              puVar33[-3] = local_ac;\n              puVar33[-4] = local_a4;\n              local_b0 = &symval_1;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n              puVar33[-5] = 0x9dda9;\n              bVar13 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset\n                                 ((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3]);\n              if (bVar13) {\n                iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                if (iVar20 == 0) {\n                  local_b0 = &symval_1;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                  puVar33[-1] = 0x9f3a6;\n                  plt_section((Target_sparc<32,_true> *)*puVar33);\n                  pSVar29 = extraout_ECX_00;\n                  goto LAB_0009f3a6;\n                }\n                if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                  puVar33[-1] = extraout_ECX;\n                  puVar33[-2] = local_94 + -0x64eef;\n                  puVar33[-3] = 0xc5;\n                  puVar33[-4] = (int)local_94 + -0x19cca3;\n                  local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f3ed;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                iVar6 = *(int *)(iVar20 + 0x34);\n                local_b0 = &symval_1;\n                iVar20 = *(int *)(iVar20 + 4);\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-3] = local_ac;\n                puVar33[-4] = local_a4;\n                p_Var2 = pp_Var1[0x2a];\n                puVar33[-5] = 0x9de86;\n                iVar23 = (*p_Var2)();\n                symval_1.u_.merged_symbol_value =\n                     (Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23);\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n              }\n              else {\n                local_b0 = &symval_1;\n              }\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) goto LAB_0009d200;\n              if (local_b8 < 0x10) {\nLAB_0009d56d:\n                uVar16 = (rela.p_)->r_info;\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                uVar16 = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2b];\n                puVar33[-9] = 0x9d58e;\n                iVar20 = (*p_Var2)();\n                if ((char)iVar20 == '\0') {\n                  puVar33[-2] = local_94 + -0x650e7;\n                  puVar33[-3] = 0xd2c;\n                  puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f357;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2c];\n                puVar33[-9] = 0x9d5b2;\n                (*p_Var2)();\n                goto LAB_0009d200;\n              }\n              if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009ddfa:\n              puVar33[-2] = local_ac;\n              puVar33[-3] = local_a4;\n              puVar33[-4] = local_9c;\n              puVar33[-5] = 0x9de14;\n              VVar22 = gold::Symbol_value<32>::value<true>\n                                 ((Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n            return;\n          }\n          puVar33[-4] = local_94 + -0x672b6;\n          puVar33[-5] = 0x9e3bf;\n          uVar26 = gettext();\n          uVar16 = (rela.p_)->r_offset;\n          puVar33[-3] = local_b8;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = 0;\n          puVar33[-6] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                        uVar16 << 0x18;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n          puVar33[-9] = 0x9e3e3;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n          puVar33[-4] = local_b0;\n          puVar33[-5] = 0x9d286;\n          gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n          if (local_90 != (Symbol_table *)0x0) {\n            bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n            bVar14 = bVar30 & 7;\n            pSVar32 = local_90;\n            if ((bVar30 & 7) == 0) {\n              if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n                 (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n                pSVar29 = *(Symbol_table **)&local_90->offset_;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 != pSVar32) {\n                  puVar33[-4] = pSVar29;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d736;\n                  iVar20 = (*(code *)pSVar3)();\n                  if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }\n                  goto LAB_0009d970;\n                }\nLAB_0009d2df:\n                bVar30 = bVar30 & 7;\n                bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                bVar14 = bVar28 & 3;\n                if ((bVar28 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }\nLAB_0009d312:\n                if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }\n                goto LAB_0009d380;\n              }\nLAB_0009d63d:\n              bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              if ((bVar28 >> 4 == 2) ||\n                 (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)) {\nLAB_0009d970:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d943:\n                if (bVar14 == 0) goto LAB_0009d380;\n                bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                pSVar29 = (Symbol_table *)(uint)bVar30;\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                bVar30 = bVar30 & 7;\n                if (bVar30 != 0) goto LAB_0009d6cc;\n                goto LAB_0009d2fb;\n              }\n              pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-1] = 0;\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f447;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (p_Var2[0x49b1] != (_func_int_varargs)0x0) goto LAB_0009d970;\n              if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) < '\0') {\n                if (bVar14 != 0) goto LAB_0009d6b0;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\nLAB_0009d900:\n                pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 == pSVar32) goto LAB_0009d2df;\n                puVar33[-4] = pSVar29;\n                puVar33[-5] = 0x9d91c;\n                iVar20 = (*(code *)pSVar3)();\n                pSVar32 = local_e0;\n                if (iVar20 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                goto LAB_0009d943;\n              }\nLAB_0009d779:\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-2] = local_94 + -0x64fb7;\n                puVar33[-3] = 0x69;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f336;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              iVar20 = *(int *)p_Var2;\n              puVar33[-3] = local_90;\n              puVar33[-4] = p_Var2;\n              pcVar4 = *(code **)(iVar20 + 0x1c);\n              puVar33[-5] = 0x9d795;\n              cVar15 = (*pcVar4)();\n              if (cVar15 != '\0') goto LAB_0009d930;\n              pSVar32 = (Symbol_table *)\n                        ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (pSVar32 == (Symbol_table *)0x0) {\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f398;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              pbVar36 = (byte *)(pSVar32 + 0x2e)[1].output_count_;\n              bVar13 = false;\n              bVar40 = pbVar36 == (byte *)0x0;\n              if (bVar40) {\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d85a:\n                if ((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))\n                goto LAB_0009d874;\n                goto LAB_0009d943;\n              }\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1fa6);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar13 = *pbVar35 < *pbVar37;\n                bVar40 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar13 = (!bVar13 && !bVar40) == bVar13;\n              if (bVar13) goto LAB_0009d930;\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1f9b);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar35 < *pbVar37;\n                bVar13 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x17;\n                pbVar35 = pbVar36;\n                ppuVar38 = local_94 + -0x687e4;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar35 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar35 == *(byte *)ppuVar38;\n                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if ((!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)) {\n                  bVar40 = false;\n                  iVar20 = 0x16;\n                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;\n                }\n                goto LAB_0009d943;\n              }\nLAB_0009d874:\n              puVar33[-4] = (int)local_c4 >> 0x1f;\n              puVar33[-5] = local_c4;\n              puVar33[-6] = local_b4;\n              puVar33[-7] = relinfo;\n              puVar33[-8] = local_90;\n              puVar33[-9] = 0x9d89a;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            else {\n              if (bVar14 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n              bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              bVar14 = bVar28 & 3;\n              if ((bVar28 & 3) != 0) {\n                bVar30 = bVar30 & 7;\nLAB_0009d6cc:\n                if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }\n              }\nLAB_0009d380:\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            if ((bVar30 & 4) != 0) {\n              puVar33[-3] = (int)local_c4 >> 0x1f;\n              puVar33[-4] = local_c4;\n              puVar33[-5] = local_b4;\n              pSVar29 = relinfo->symtab;\n              puVar33[-6] = relinfo;\n              puVar33[-7] = local_90;\n              local_90 = pSVar29;\n              puVar33[-8] = &pSVar29->warnings_;\n              puVar33[-9] = 0x9d8e4;\n              gold::Warnings::issue_warning<32,_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n            }\n          }\n        }\n        puVar33[-4] = local_d0;\n        puVar33[-5] = 0x9d39e;\n        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n        puVar33[-4] = local_bc;\n        puVar33[-5] = 0x9d3aa;\n        gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n        puVar34 = puVar33;\n      }" { (expression_statement "local_a0 = view + local_c4;" (assignment_expression "local_a0 = view + local_c4" identifier = (binary_expression "view + local_c4" identifier + identifier)) ;) (expression_statement "rela.p_ = (Rela_data<32> *)prelocs;" (assignment_expression "rela.p_ = (Rela_data<32> *)prelocs" (field_expression "rela.p_" identifier . field_identifier) = (parenthesized_expression "(Rela_data<32> *)prelocs" ( (binary_expression "Rela_data<32> *)prelocs" (binary_expression "Rela_data<32" identifier < number_literal) > (pointer_expression "*)prelocs" * (ERROR ")" )) identifier)) ))) ;) (if_statement "if (local_a0 == (uchar *)0x0) goto LAB_0009dcd4;" if (parenthesized_expression "(local_a0 == (uchar *)0x0)" ( (binary_expression "local_a0 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009dcd4;" goto statement_identifier ;)) (if_statement "if (local_a0 == (uchar *)0x0) {\n            local_a0 = (uchar *)0xfffffffc;\n          }" if (parenthesized_expression "(local_a0 == (uchar *)0x0)" ( (binary_expression "local_a0 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_a0 = (uchar *)0xfffffffc;\n          }" { (expression_statement "local_a0 = (uchar *)0xfffffffc;" (assignment_expression "local_a0 = (uchar *)0xfffffffc" identifier = (cast_expression "(uchar *)0xfffffffc" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "symval_1.output_symtab_index_ = 0;" (assignment_expression "symval_1.output_symtab_index_ = 0" (field_expression "symval_1.output_symtab_index_" identifier . field_identifier) = number_literal) ;) (expression_statement "symval_1.output_dynsym_index_ = 0xffffffff;" (assignment_expression "symval_1.output_dynsym_index_ = 0xffffffff" (field_expression "symval_1.output_dynsym_index_" identifier . field_identifier) = number_literal) ;) (expression_statement "local_a4 = relinfo->object;" (assignment_expression "local_a4 = relinfo->object" identifier = (field_expression "relinfo->object" identifier -> field_identifier)) ;) (expression_statement "symval_1._8_4_ = 0x80000000;" (assignment_expression "symval_1._8_4_ = 0x80000000" (field_expression "symval_1._8_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "symval_1.u_.value = 0;" (assignment_expression "symval_1.u_.value = 0" (field_expression "symval_1.u_.value" (field_expression "symval_1.u_" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (local_90 == (Symbol_table *)0x0) {\n            if (bVar30 == 0) {\n              uVar16 = *(uint *)(prelocs + 8);\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009d56d;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009ddfa;\n                }\n                local_b0 = &symval_1;\n                goto LAB_0009d200;\n              }\nLAB_0009d1f2:\n              local_b0 = &symval_1;\n            }\n            else {\n              uVar16 = *(uint *)(prelocs + 4);\n              local_ac = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n              puVar33[-3] = local_ac;\n              puVar33[-4] = local_a4;\n              local_b0 = &symval_1;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n              puVar33[-5] = 0x9dda9;\n              bVar13 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset\n                                 ((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3]);\n              if (bVar13) {\n                iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                if (iVar20 == 0) {\n                  local_b0 = &symval_1;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                  puVar33[-1] = 0x9f3a6;\n                  plt_section((Target_sparc<32,_true> *)*puVar33);\n                  pSVar29 = extraout_ECX_00;\n                  goto LAB_0009f3a6;\n                }\n                if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                  puVar33[-1] = extraout_ECX;\n                  puVar33[-2] = local_94 + -0x64eef;\n                  puVar33[-3] = 0xc5;\n                  puVar33[-4] = (int)local_94 + -0x19cca3;\n                  local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f3ed;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                iVar6 = *(int *)(iVar20 + 0x34);\n                local_b0 = &symval_1;\n                iVar20 = *(int *)(iVar20 + 4);\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-3] = local_ac;\n                puVar33[-4] = local_a4;\n                p_Var2 = pp_Var1[0x2a];\n                puVar33[-5] = 0x9de86;\n                iVar23 = (*p_Var2)();\n                symval_1.u_.merged_symbol_value =\n                     (Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23);\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n              }\n              else {\n                local_b0 = &symval_1;\n              }\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) goto LAB_0009d200;\n              if (local_b8 < 0x10) {\nLAB_0009d56d:\n                uVar16 = (rela.p_)->r_info;\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                uVar16 = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2b];\n                puVar33[-9] = 0x9d58e;\n                iVar20 = (*p_Var2)();\n                if ((char)iVar20 == '\0') {\n                  puVar33[-2] = local_94 + -0x650e7;\n                  puVar33[-3] = 0xd2c;\n                  puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f357;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2c];\n                puVar33[-9] = 0x9d5b2;\n                (*p_Var2)();\n                goto LAB_0009d200;\n              }\n              if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009ddfa:\n              puVar33[-2] = local_ac;\n              puVar33[-3] = local_a4;\n              puVar33[-4] = local_9c;\n              puVar33[-5] = 0x9de14;\n              VVar22 = gold::Symbol_value<32>::value<true>\n                                 ((Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n            return;\n          }\n          puVar33[-4] = local_94 + -0x672b6;\n          puVar33[-5] = 0x9e3bf;\n          uVar26 = gettext();\n          uVar16 = (rela.p_)->r_offset;\n          puVar33[-3] = local_b8;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = 0;\n          puVar33[-6] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                        uVar16 << 0x18;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n          puVar33[-9] = 0x9e3e3;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n          puVar33[-4] = local_b0;\n          puVar33[-5] = 0x9d286;\n          gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n          if (local_90 != (Symbol_table *)0x0) {\n            bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n            bVar14 = bVar30 & 7;\n            pSVar32 = local_90;\n            if ((bVar30 & 7) == 0) {\n              if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n                 (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n                pSVar29 = *(Symbol_table **)&local_90->offset_;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 != pSVar32) {\n                  puVar33[-4] = pSVar29;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d736;\n                  iVar20 = (*(code *)pSVar3)();\n                  if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }\n                  goto LAB_0009d970;\n                }\nLAB_0009d2df:\n                bVar30 = bVar30 & 7;\n                bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                bVar14 = bVar28 & 3;\n                if ((bVar28 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }\nLAB_0009d312:\n                if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }\n                goto LAB_0009d380;\n              }\nLAB_0009d63d:\n              bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              if ((bVar28 >> 4 == 2) ||\n                 (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)) {\nLAB_0009d970:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d943:\n                if (bVar14 == 0) goto LAB_0009d380;\n                bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                pSVar29 = (Symbol_table *)(uint)bVar30;\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                bVar30 = bVar30 & 7;\n                if (bVar30 != 0) goto LAB_0009d6cc;\n                goto LAB_0009d2fb;\n              }\n              pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-1] = 0;\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f447;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (p_Var2[0x49b1] != (_func_int_varargs)0x0) goto LAB_0009d970;\n              if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) < '\0') {\n                if (bVar14 != 0) goto LAB_0009d6b0;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\nLAB_0009d900:\n                pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 == pSVar32) goto LAB_0009d2df;\n                puVar33[-4] = pSVar29;\n                puVar33[-5] = 0x9d91c;\n                iVar20 = (*(code *)pSVar3)();\n                pSVar32 = local_e0;\n                if (iVar20 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                goto LAB_0009d943;\n              }\nLAB_0009d779:\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-2] = local_94 + -0x64fb7;\n                puVar33[-3] = 0x69;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f336;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              iVar20 = *(int *)p_Var2;\n              puVar33[-3] = local_90;\n              puVar33[-4] = p_Var2;\n              pcVar4 = *(code **)(iVar20 + 0x1c);\n              puVar33[-5] = 0x9d795;\n              cVar15 = (*pcVar4)();\n              if (cVar15 != '\0') goto LAB_0009d930;\n              pSVar32 = (Symbol_table *)\n                        ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (pSVar32 == (Symbol_table *)0x0) {\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f398;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              pbVar36 = (byte *)(pSVar32 + 0x2e)[1].output_count_;\n              bVar13 = false;\n              bVar40 = pbVar36 == (byte *)0x0;\n              if (bVar40) {\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d85a:\n                if ((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))\n                goto LAB_0009d874;\n                goto LAB_0009d943;\n              }\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1fa6);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar13 = *pbVar35 < *pbVar37;\n                bVar40 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar13 = (!bVar13 && !bVar40) == bVar13;\n              if (bVar13) goto LAB_0009d930;\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1f9b);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar35 < *pbVar37;\n                bVar13 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x17;\n                pbVar35 = pbVar36;\n                ppuVar38 = local_94 + -0x687e4;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar35 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar35 == *(byte *)ppuVar38;\n                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if ((!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)) {\n                  bVar40 = false;\n                  iVar20 = 0x16;\n                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;\n                }\n                goto LAB_0009d943;\n              }\nLAB_0009d874:\n              puVar33[-4] = (int)local_c4 >> 0x1f;\n              puVar33[-5] = local_c4;\n              puVar33[-6] = local_b4;\n              puVar33[-7] = relinfo;\n              puVar33[-8] = local_90;\n              puVar33[-9] = 0x9d89a;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            else {\n              if (bVar14 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n              bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              bVar14 = bVar28 & 3;\n              if ((bVar28 & 3) != 0) {\n                bVar30 = bVar30 & 7;\nLAB_0009d6cc:\n                if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }\n              }\nLAB_0009d380:\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            if ((bVar30 & 4) != 0) {\n              puVar33[-3] = (int)local_c4 >> 0x1f;\n              puVar33[-4] = local_c4;\n              puVar33[-5] = local_b4;\n              pSVar29 = relinfo->symtab;\n              puVar33[-6] = relinfo;\n              puVar33[-7] = local_90;\n              local_90 = pSVar29;\n              puVar33[-8] = &pSVar29->warnings_;\n              puVar33[-9] = 0x9d8e4;\n              gold::Warnings::issue_warning<32,_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n            }\n          }\n        }" if (parenthesized_expression "(local_90 == (Symbol_table *)0x0)" ( (binary_expression "local_90 == (Symbol_table *)0x0" identifier == (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (bVar30 == 0) {\n              uVar16 = *(uint *)(prelocs + 8);\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009d56d;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009ddfa;\n                }\n                local_b0 = &symval_1;\n                goto LAB_0009d200;\n              }\nLAB_0009d1f2:\n              local_b0 = &symval_1;\n            }\n            else {\n              uVar16 = *(uint *)(prelocs + 4);\n              local_ac = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n              puVar33[-3] = local_ac;\n              puVar33[-4] = local_a4;\n              local_b0 = &symval_1;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n              puVar33[-5] = 0x9dda9;\n              bVar13 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset\n                                 ((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3]);\n              if (bVar13) {\n                iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                if (iVar20 == 0) {\n                  local_b0 = &symval_1;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                  puVar33[-1] = 0x9f3a6;\n                  plt_section((Target_sparc<32,_true> *)*puVar33);\n                  pSVar29 = extraout_ECX_00;\n                  goto LAB_0009f3a6;\n                }\n                if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                  puVar33[-1] = extraout_ECX;\n                  puVar33[-2] = local_94 + -0x64eef;\n                  puVar33[-3] = 0xc5;\n                  puVar33[-4] = (int)local_94 + -0x19cca3;\n                  local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f3ed;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                iVar6 = *(int *)(iVar20 + 0x34);\n                local_b0 = &symval_1;\n                iVar20 = *(int *)(iVar20 + 4);\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-3] = local_ac;\n                puVar33[-4] = local_a4;\n                p_Var2 = pp_Var1[0x2a];\n                puVar33[-5] = 0x9de86;\n                iVar23 = (*p_Var2)();\n                symval_1.u_.merged_symbol_value =\n                     (Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23);\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n              }\n              else {\n                local_b0 = &symval_1;\n              }\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) goto LAB_0009d200;\n              if (local_b8 < 0x10) {\nLAB_0009d56d:\n                uVar16 = (rela.p_)->r_info;\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                uVar16 = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2b];\n                puVar33[-9] = 0x9d58e;\n                iVar20 = (*p_Var2)();\n                if ((char)iVar20 == '\0') {\n                  puVar33[-2] = local_94 + -0x650e7;\n                  puVar33[-3] = 0xd2c;\n                  puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f357;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2c];\n                puVar33[-9] = 0x9d5b2;\n                (*p_Var2)();\n                goto LAB_0009d200;\n              }\n              if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009ddfa:\n              puVar33[-2] = local_ac;\n              puVar33[-3] = local_a4;\n              puVar33[-4] = local_9c;\n              puVar33[-5] = 0x9de14;\n              VVar22 = gold::Symbol_value<32>::value<true>\n                                 ((Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n            return;\n          }\n          puVar33[-4] = local_94 + -0x672b6;\n          puVar33[-5] = 0x9e3bf;\n          uVar26 = gettext();\n          uVar16 = (rela.p_)->r_offset;\n          puVar33[-3] = local_b8;\n          puVar33[-4] = uVar26;\n          puVar33[-5] = 0;\n          puVar33[-6] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                        uVar16 << 0x18;\n          puVar33[-7] = local_b4;\n          puVar33[-8] = relinfo;\n          puVar33[-9] = 0x9e3e3;\n          gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);\n          puVar33[-4] = local_b0;\n          puVar33[-5] = 0x9d286;\n          gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);\n          if (local_90 != (Symbol_table *)0x0) {\n            bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n            bVar14 = bVar30 & 7;\n            pSVar32 = local_90;\n            if ((bVar30 & 7) == 0) {\n              if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n                 (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n                pSVar29 = *(Symbol_table **)&local_90->offset_;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 != pSVar32) {\n                  puVar33[-4] = pSVar29;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d736;\n                  iVar20 = (*(code *)pSVar3)();\n                  if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }\n                  goto LAB_0009d970;\n                }\nLAB_0009d2df:\n                bVar30 = bVar30 & 7;\n                bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                bVar14 = bVar28 & 3;\n                if ((bVar28 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }\nLAB_0009d312:\n                if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }\n                goto LAB_0009d380;\n              }\nLAB_0009d63d:\n              bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              if ((bVar28 >> 4 == 2) ||\n                 (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)) {\nLAB_0009d970:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d943:\n                if (bVar14 == 0) goto LAB_0009d380;\n                bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                pSVar29 = (Symbol_table *)(uint)bVar30;\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                bVar30 = bVar30 & 7;\n                if (bVar30 != 0) goto LAB_0009d6cc;\n                goto LAB_0009d2fb;\n              }\n              pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-1] = 0;\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f447;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (p_Var2[0x49b1] != (_func_int_varargs)0x0) goto LAB_0009d970;\n              if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) < '\0') {\n                if (bVar14 != 0) goto LAB_0009d6b0;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\nLAB_0009d900:\n                pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 == pSVar32) goto LAB_0009d2df;\n                puVar33[-4] = pSVar29;\n                puVar33[-5] = 0x9d91c;\n                iVar20 = (*(code *)pSVar3)();\n                pSVar32 = local_e0;\n                if (iVar20 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                goto LAB_0009d943;\n              }\nLAB_0009d779:\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-2] = local_94 + -0x64fb7;\n                puVar33[-3] = 0x69;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f336;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              iVar20 = *(int *)p_Var2;\n              puVar33[-3] = local_90;\n              puVar33[-4] = p_Var2;\n              pcVar4 = *(code **)(iVar20 + 0x1c);\n              puVar33[-5] = 0x9d795;\n              cVar15 = (*pcVar4)();\n              if (cVar15 != '\0') goto LAB_0009d930;\n              pSVar32 = (Symbol_table *)\n                        ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (pSVar32 == (Symbol_table *)0x0) {\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f398;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              pbVar36 = (byte *)(pSVar32 + 0x2e)[1].output_count_;\n              bVar13 = false;\n              bVar40 = pbVar36 == (byte *)0x0;\n              if (bVar40) {\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d85a:\n                if ((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))\n                goto LAB_0009d874;\n                goto LAB_0009d943;\n              }\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1fa6);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar13 = *pbVar35 < *pbVar37;\n                bVar40 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar13 = (!bVar13 && !bVar40) == bVar13;\n              if (bVar13) goto LAB_0009d930;\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1f9b);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar35 < *pbVar37;\n                bVar13 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x17;\n                pbVar35 = pbVar36;\n                ppuVar38 = local_94 + -0x687e4;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar35 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar35 == *(byte *)ppuVar38;\n                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if ((!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)) {\n                  bVar40 = false;\n                  iVar20 = 0x16;\n                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;\n                }\n                goto LAB_0009d943;\n              }\nLAB_0009d874:\n              puVar33[-4] = (int)local_c4 >> 0x1f;\n              puVar33[-5] = local_c4;\n              puVar33[-6] = local_b4;\n              puVar33[-7] = relinfo;\n              puVar33[-8] = local_90;\n              puVar33[-9] = 0x9d89a;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            else {\n              if (bVar14 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n              bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              bVar14 = bVar28 & 3;\n              if ((bVar28 & 3) != 0) {\n                bVar30 = bVar30 & 7;\nLAB_0009d6cc:\n                if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }\n              }\nLAB_0009d380:\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            if ((bVar30 & 4) != 0) {\n              puVar33[-3] = (int)local_c4 >> 0x1f;\n              puVar33[-4] = local_c4;\n              puVar33[-5] = local_b4;\n              pSVar29 = relinfo->symtab;\n              puVar33[-6] = relinfo;\n              puVar33[-7] = local_90;\n              local_90 = pSVar29;\n              puVar33[-8] = &pSVar29->warnings_;\n              puVar33[-9] = 0x9d8e4;\n              gold::Warnings::issue_warning<32,_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n            }\n          }\n        }" { (if_statement "if (bVar30 == 0) {\n              uVar16 = *(uint *)(prelocs + 8);\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009d56d;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009ddfa;\n                }\n                local_b0 = &symval_1;\n                goto LAB_0009d200;\n              }\nLAB_0009d1f2:\n              local_b0 = &symval_1;\n            }\n            else {\n              uVar16 = *(uint *)(prelocs + 4);\n              local_ac = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n              puVar33[-3] = local_ac;\n              puVar33[-4] = local_a4;\n              local_b0 = &symval_1;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n              puVar33[-5] = 0x9dda9;\n              bVar13 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset\n                                 ((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3]);\n              if (bVar13) {\n                iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                if (iVar20 == 0) {\n                  local_b0 = &symval_1;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                  puVar33[-1] = 0x9f3a6;\n                  plt_section((Target_sparc<32,_true> *)*puVar33);\n                  pSVar29 = extraout_ECX_00;\n                  goto LAB_0009f3a6;\n                }\n                if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                  puVar33[-1] = extraout_ECX;\n                  puVar33[-2] = local_94 + -0x64eef;\n                  puVar33[-3] = 0xc5;\n                  puVar33[-4] = (int)local_94 + -0x19cca3;\n                  local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f3ed;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                iVar6 = *(int *)(iVar20 + 0x34);\n                local_b0 = &symval_1;\n                iVar20 = *(int *)(iVar20 + 4);\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-3] = local_ac;\n                puVar33[-4] = local_a4;\n                p_Var2 = pp_Var1[0x2a];\n                puVar33[-5] = 0x9de86;\n                iVar23 = (*p_Var2)();\n                symval_1.u_.merged_symbol_value =\n                     (Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23);\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n              }\n              else {\n                local_b0 = &symval_1;\n              }\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) goto LAB_0009d200;\n              if (local_b8 < 0x10) {\nLAB_0009d56d:\n                uVar16 = (rela.p_)->r_info;\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                uVar16 = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2b];\n                puVar33[-9] = 0x9d58e;\n                iVar20 = (*p_Var2)();\n                if ((char)iVar20 == '\0') {\n                  puVar33[-2] = local_94 + -0x650e7;\n                  puVar33[-3] = 0xd2c;\n                  puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f357;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2c];\n                puVar33[-9] = 0x9d5b2;\n                (*p_Var2)();\n                goto LAB_0009d200;\n              }\n              if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009ddfa:\n              puVar33[-2] = local_ac;\n              puVar33[-3] = local_a4;\n              puVar33[-4] = local_9c;\n              puVar33[-5] = 0x9de14;\n              VVar22 = gold::Symbol_value<32>::value<true>\n                                 ((Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n            return;\n          }" if (parenthesized_expression "(bVar30 == 0)" ( (binary_expression "bVar30 == 0" identifier == number_literal) )) (compound_statement "{\n              uVar16 = *(uint *)(prelocs + 8);\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009d56d;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009ddfa;\n                }\n                local_b0 = &symval_1;\n                goto LAB_0009d200;\n              }\nLAB_0009d1f2:\n              local_b0 = &symval_1;\n            }" { (expression_statement "uVar16 = *(uint *)(prelocs + 8);" (assignment_expression "uVar16 = *(uint *)(prelocs + 8)" identifier = (pointer_expression "*(uint *)(prelocs + 8)" * (cast_expression "(uint *)(prelocs + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(prelocs + 8)" ( (binary_expression "prelocs + 8" identifier + number_literal) ))))) ;) (expression_statement "local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;" (assignment_expression "local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18" identifier = (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal))) ;) (expression_statement "local_a8 = (int)local_ac >> 0x1f;" (assignment_expression "local_a8 = (int)local_ac >> 0x1f" identifier = (binary_expression "(int)local_ac >> 0x1f" (cast_expression "(int)local_ac" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009d56d;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009ddfa;\n                }\n                local_b0 = &symval_1;\n                goto LAB_0009d200;\n              }" if (parenthesized_expression "(0xc < local_b8)" ( (binary_expression "0xc < local_b8" number_literal < identifier) )) (compound_statement "{\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009d56d;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009ddfa;\n                }\n                local_b0 = &symval_1;\n                goto LAB_0009d200;\n              }" { (if_statement "if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009d56d;\n                }" if (parenthesized_expression "(local_b8 < 0x10)" ( (binary_expression "local_b8 < 0x10" identifier < number_literal) )) (compound_statement "{\n                  local_b0 = &symval_1;\n                  goto LAB_0009d56d;\n                }" { (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) (goto_statement "goto LAB_0009d56d;" goto statement_identifier ;) })) (if_statement "if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009ddfa;\n                }" if (parenthesized_expression "(local_b8 - 0x52 < 3)" ( (binary_expression "local_b8 - 0x52 < 3" (binary_expression "local_b8 - 0x52" identifier - number_literal) < number_literal) )) (compound_statement "{\n                  local_b0 = &symval_1;\n                  goto LAB_0009ddfa;\n                }" { (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) (goto_statement "goto LAB_0009ddfa;" goto statement_identifier ;) })) (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) (goto_statement "goto LAB_0009d200;" goto statement_identifier ;) })) (labeled_statement "LAB_0009d1f2:\n              local_b0 = &symval_1;" statement_identifier : (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;)) }) (else_clause "else {\n              uVar16 = *(uint *)(prelocs + 4);\n              local_ac = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n              puVar33[-3] = local_ac;\n              puVar33[-4] = local_a4;\n              local_b0 = &symval_1;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n              puVar33[-5] = 0x9dda9;\n              bVar13 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset\n                                 ((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3]);\n              if (bVar13) {\n                iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                if (iVar20 == 0) {\n                  local_b0 = &symval_1;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                  puVar33[-1] = 0x9f3a6;\n                  plt_section((Target_sparc<32,_true> *)*puVar33);\n                  pSVar29 = extraout_ECX_00;\n                  goto LAB_0009f3a6;\n                }\n                if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                  puVar33[-1] = extraout_ECX;\n                  puVar33[-2] = local_94 + -0x64eef;\n                  puVar33[-3] = 0xc5;\n                  puVar33[-4] = (int)local_94 + -0x19cca3;\n                  local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f3ed;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                iVar6 = *(int *)(iVar20 + 0x34);\n                local_b0 = &symval_1;\n                iVar20 = *(int *)(iVar20 + 4);\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-3] = local_ac;\n                puVar33[-4] = local_a4;\n                p_Var2 = pp_Var1[0x2a];\n                puVar33[-5] = 0x9de86;\n                iVar23 = (*p_Var2)();\n                symval_1.u_.merged_symbol_value =\n                     (Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23);\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n              }\n              else {\n                local_b0 = &symval_1;\n              }\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) goto LAB_0009d200;\n              if (local_b8 < 0x10) {\nLAB_0009d56d:\n                uVar16 = (rela.p_)->r_info;\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                uVar16 = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2b];\n                puVar33[-9] = 0x9d58e;\n                iVar20 = (*p_Var2)();\n                if ((char)iVar20 == '\0') {\n                  puVar33[-2] = local_94 + -0x650e7;\n                  puVar33[-3] = 0xd2c;\n                  puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f357;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2c];\n                puVar33[-9] = 0x9d5b2;\n                (*p_Var2)();\n                goto LAB_0009d200;\n              }\n              if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009ddfa:\n              puVar33[-2] = local_ac;\n              puVar33[-3] = local_a4;\n              puVar33[-4] = local_9c;\n              puVar33[-5] = 0x9de14;\n              VVar22 = gold::Symbol_value<32>::value<true>\n                                 ((Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n            return;\n          }" else (compound_statement "{\n              uVar16 = *(uint *)(prelocs + 4);\n              local_ac = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n              puVar33[-3] = local_ac;\n              puVar33[-4] = local_a4;\n              local_b0 = &symval_1;\n                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */\n              puVar33[-5] = 0x9dda9;\n              bVar13 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset\n                                 ((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3]);\n              if (bVar13) {\n                iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                if (iVar20 == 0) {\n                  local_b0 = &symval_1;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                  puVar33[-1] = 0x9f3a6;\n                  plt_section((Target_sparc<32,_true> *)*puVar33);\n                  pSVar29 = extraout_ECX_00;\n                  goto LAB_0009f3a6;\n                }\n                if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                  puVar33[-1] = extraout_ECX;\n                  puVar33[-2] = local_94 + -0x64eef;\n                  puVar33[-3] = 0xc5;\n                  puVar33[-4] = (int)local_94 + -0x19cca3;\n                  local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f3ed;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                iVar6 = *(int *)(iVar20 + 0x34);\n                local_b0 = &symval_1;\n                iVar20 = *(int *)(iVar20 + 4);\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-3] = local_ac;\n                puVar33[-4] = local_a4;\n                p_Var2 = pp_Var1[0x2a];\n                puVar33[-5] = 0x9de86;\n                iVar23 = (*p_Var2)();\n                symval_1.u_.merged_symbol_value =\n                     (Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23);\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n              }\n              else {\n                local_b0 = &symval_1;\n              }\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) goto LAB_0009d200;\n              if (local_b8 < 0x10) {\nLAB_0009d56d:\n                uVar16 = (rela.p_)->r_info;\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                uVar16 = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2b];\n                puVar33[-9] = 0x9d58e;\n                iVar20 = (*p_Var2)();\n                if ((char)iVar20 == '\0') {\n                  puVar33[-2] = local_94 + -0x650e7;\n                  puVar33[-3] = 0xd2c;\n                  puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f357;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2c];\n                puVar33[-9] = 0x9d5b2;\n                (*p_Var2)();\n                goto LAB_0009d200;\n              }\n              if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009ddfa:\n              puVar33[-2] = local_ac;\n              puVar33[-3] = local_a4;\n              puVar33[-4] = local_9c;\n              puVar33[-5] = 0x9de14;\n              VVar22 = gold::Symbol_value<32>::value<true>\n                                 ((Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n            return;\n          }" { (expression_statement "uVar16 = *(uint *)(prelocs + 4);" (assignment_expression "uVar16 = *(uint *)(prelocs + 4)" identifier = (pointer_expression "*(uint *)(prelocs + 4)" * (cast_expression "(uint *)(prelocs + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(prelocs + 4)" ( (binary_expression "prelocs + 4" identifier + number_literal) ))))) ;) (expression_statement "local_ac = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;" (assignment_expression "local_ac = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8" identifier = (binary_expression "((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8" (parenthesized_expression "((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18)" ( (binary_expression "(uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18" (binary_expression "(uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal)) )) >> number_literal)) ;) (expression_statement "puVar33[-3] = local_ac;" (assignment_expression "puVar33[-3] = local_ac" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-4] = local_a4;" (assignment_expression "puVar33[-4] = local_a4" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) comment (expression_statement "puVar33[-5] = 0x9dda9;" (assignment_expression "puVar33[-5] = 0x9dda9" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (ERROR "bVar13 = gold::" (assignment_expression "bVar13 = gold" identifier = identifier) : :) (expression_statement "Sized_relobj_file<32,_true>::local_has_plt_offset\n                                 ((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3]);" (comma_expression "Sized_relobj_file<32,_true>::local_has_plt_offset\n                                 ((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3])" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::local_has_plt_offset\n                                 ((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3])" identifier > (ERROR "::" : :) (call_expression "local_has_plt_offset\n                                 ((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3])" identifier (argument_list "((Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3])" ( (parenthesized_expression "(Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3])" ( (comma_expression "Sized_relobj_file<32,_true> *)puVar33[-4],puVar33[-3]" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_true> *)puVar33[-4],puVar33[-3]" (binary_expression "_true> *)puVar33[-4]" identifier > (pointer_expression "*)puVar33[-4]" * (ERROR ")" )) (subscript_expression "puVar33[-4]" identifier [ number_literal ]))) , (subscript_expression "puVar33[-3]" identifier [ number_literal ]))) )) ))))) ;) (if_statement "if (bVar13) {\n                iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                if (iVar20 == 0) {\n                  local_b0 = &symval_1;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                  puVar33[-1] = 0x9f3a6;\n                  plt_section((Target_sparc<32,_true> *)*puVar33);\n                  pSVar29 = extraout_ECX_00;\n                  goto LAB_0009f3a6;\n                }\n                if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                  puVar33[-1] = extraout_ECX;\n                  puVar33[-2] = local_94 + -0x64eef;\n                  puVar33[-3] = 0xc5;\n                  puVar33[-4] = (int)local_94 + -0x19cca3;\n                  local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f3ed;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                iVar6 = *(int *)(iVar20 + 0x34);\n                local_b0 = &symval_1;\n                iVar20 = *(int *)(iVar20 + 4);\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-3] = local_ac;\n                puVar33[-4] = local_a4;\n                p_Var2 = pp_Var1[0x2a];\n                puVar33[-5] = 0x9de86;\n                iVar23 = (*p_Var2)();\n                symval_1.u_.merged_symbol_value =\n                     (Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23);\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n              }\n              else {\n                local_b0 = &symval_1;\n              }" if (parenthesized_expression "(bVar13)" ( identifier )) (compound_statement "{\n                iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                if (iVar20 == 0) {\n                  local_b0 = &symval_1;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                  puVar33[-1] = 0x9f3a6;\n                  plt_section((Target_sparc<32,_true> *)*puVar33);\n                  pSVar29 = extraout_ECX_00;\n                  goto LAB_0009f3a6;\n                }\n                if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                  puVar33[-1] = extraout_ECX;\n                  puVar33[-2] = local_94 + -0x64eef;\n                  puVar33[-3] = 0xc5;\n                  puVar33[-4] = (int)local_94 + -0x19cca3;\n                  local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f3ed;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                iVar6 = *(int *)(iVar20 + 0x34);\n                local_b0 = &symval_1;\n                iVar20 = *(int *)(iVar20 + 4);\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-3] = local_ac;\n                puVar33[-4] = local_a4;\n                p_Var2 = pp_Var1[0x2a];\n                puVar33[-5] = 0x9de86;\n                iVar23 = (*p_Var2)();\n                symval_1.u_.merged_symbol_value =\n                     (Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23);\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n              }" { (expression_statement "iVar20 = (int)(this->sparc_info).default_text_segment_address;" (assignment_expression "iVar20 = (int)(this->sparc_info).default_text_segment_address" identifier = (cast_expression "(int)(this->sparc_info).default_text_segment_address" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->sparc_info).default_text_segment_address" (parenthesized_expression "(this->sparc_info)" ( (field_expression "this->sparc_info" identifier -> field_identifier) )) . field_identifier))) ;) (if_statement "if (iVar20 == 0) {\n                  local_b0 = &symval_1;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                  puVar33[-1] = 0x9f3a6;\n                  plt_section((Target_sparc<32,_true> *)*puVar33);\n                  pSVar29 = extraout_ECX_00;\n                  goto LAB_0009f3a6;\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  local_b0 = &symval_1;\n                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */\n                  puVar33[-1] = 0x9f3a6;\n                  plt_section((Target_sparc<32,_true> *)*puVar33);\n                  pSVar29 = extraout_ECX_00;\n                  goto LAB_0009f3a6;\n                }" { (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) comment (expression_statement "puVar33[-1] = 0x9f3a6;" (assignment_expression "puVar33[-1] = 0x9f3a6" (subscript_expression "puVar33[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plt_section((Target_sparc<32,_true> *)*puVar33);" (call_expression "plt_section((Target_sparc<32,_true> *)*puVar33)" identifier (argument_list "((Target_sparc<32,_true> *)*puVar33)" ( (binary_expression "(Target_sparc<32,_true> *)*puVar33" (parenthesized_expression "(Target_sparc<32,_true> *)" ( (comma_expression "Target_sparc<32,_true> *" (binary_expression "Target_sparc<32" identifier < number_literal) , (binary_expression "_true> *" identifier > (pointer_expression "*" * identifier))) )) * identifier) ))) ;) (expression_statement "pSVar29 = extraout_ECX_00;" (assignment_expression "pSVar29 = extraout_ECX_00" identifier = identifier) ;) (goto_statement "goto LAB_0009f3a6;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                  puVar33[-1] = extraout_ECX;\n                  puVar33[-2] = local_94 + -0x64eef;\n                  puVar33[-3] = 0xc5;\n                  puVar33[-4] = (int)local_94 + -0x19cca3;\n                  local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f3ed;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }" if (parenthesized_expression "((*(byte *)(iVar20 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar20 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar20 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar20 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar20 + 0x1c)" * (cast_expression "(byte *)(iVar20 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x1c)" ( (binary_expression "iVar20 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  puVar33[-1] = extraout_ECX;\n                  puVar33[-2] = local_94 + -0x64eef;\n                  puVar33[-3] = 0xc5;\n                  puVar33[-4] = (int)local_94 + -0x19cca3;\n                  local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f3ed;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }" { (expression_statement "puVar33[-1] = extraout_ECX;" (assignment_expression "puVar33[-1] = extraout_ECX" (subscript_expression "puVar33[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-2] = local_94 + -0x64eef;" (assignment_expression "puVar33[-2] = local_94 + -0x64eef" (subscript_expression "puVar33[-2]" identifier [ number_literal ]) = (binary_expression "local_94 + -0x64eef" identifier + number_literal)) ;) (expression_statement "puVar33[-3] = 0xc5;" (assignment_expression "puVar33[-3] = 0xc5" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-4] = (int)local_94 + -0x19cca3;" (assignment_expression "puVar33[-4] = (int)local_94 + -0x19cca3" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_94 + -0x19cca3" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) comment comment (expression_statement "puVar33[-5] = 0x9f3ed;" (assignment_expression "puVar33[-5] = 0x9f3ed" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" (call_expression "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" identifier (argument_list "((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" ( (cast_expression "(char *)puVar33[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-4]" identifier [ number_literal ])) , (subscript_expression "puVar33[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar33[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-2]" identifier [ number_literal ])) ))) ;)) })) (expression_statement "iVar6 = *(int *)(iVar20 + 0x34);" (assignment_expression "iVar6 = *(int *)(iVar20 + 0x34)" identifier = (pointer_expression "*(int *)(iVar20 + 0x34)" * (cast_expression "(int *)(iVar20 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x34)" ( (binary_expression "iVar20 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) (expression_statement "iVar20 = *(int *)(iVar20 + 4);" (assignment_expression "iVar20 = *(int *)(iVar20 + 4)" identifier = (pointer_expression "*(int *)(iVar20 + 4)" * (cast_expression "(int *)(iVar20 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 4)" ( (binary_expression "iVar20 + 4" identifier + number_literal) ))))) ;) (expression_statement "pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;" (assignment_expression "pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object" identifier = (field_expression "(local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object" (field_expression "(local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object" (field_expression "(local_a4->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(local_a4->super_Sized_relobj<32,_true>)" ( (comma_expression "local_a4->super_Sized_relobj<32,_true" (binary_expression "local_a4->super_Sized_relobj<32" (field_expression "local_a4->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "puVar33[-3] = local_ac;" (assignment_expression "puVar33[-3] = local_ac" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-4] = local_a4;" (assignment_expression "puVar33[-4] = local_a4" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "p_Var2 = pp_Var1[0x2a];" (assignment_expression "p_Var2 = pp_Var1[0x2a]" identifier = (subscript_expression "pp_Var1[0x2a]" identifier [ number_literal ])) ;) (expression_statement "puVar33[-5] = 0x9de86;" (assignment_expression "puVar33[-5] = 0x9de86" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar23 = (*p_Var2)();" (assignment_expression "iVar23 = (*p_Var2)()" identifier = (call_expression "(*p_Var2)()" (parenthesized_expression "(*p_Var2)" ( (pointer_expression "*p_Var2" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "symval_1.u_.merged_symbol_value =\n                     (Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23);" (assignment_expression "symval_1.u_.merged_symbol_value =\n                     (Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23)" (field_expression "symval_1.u_.merged_symbol_value" (field_expression "symval_1.u_" identifier . field_identifier) . field_identifier) = (call_expression "(Merged_symbol_value<32> *)((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23)" (parenthesized_expression "(Merged_symbol_value<32> *)" ( (binary_expression "Merged_symbol_value<32> *" (binary_expression "Merged_symbol_value<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "((iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23)" ( (binary_expression "(iVar6 * 3 + 0xc) * 4 + iVar20 + iVar23" (binary_expression "(iVar6 * 3 + 0xc) * 4 + iVar20" (binary_expression "(iVar6 * 3 + 0xc) * 4" (parenthesized_expression "(iVar6 * 3 + 0xc)" ( (binary_expression "iVar6 * 3 + 0xc" (binary_expression "iVar6 * 3" identifier * number_literal) + number_literal) )) * number_literal) + identifier) + identifier) )))) ;) (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) (expression_statement "local_9c = &symval_1;" (assignment_expression "local_9c = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) }) (else_clause "else {\n                local_b0 = &symval_1;\n              }" else (compound_statement "{\n                local_b0 = &symval_1;\n              }" { (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) }))) (expression_statement "uVar16 = (rela.p_)->r_addend;" (assignment_expression "uVar16 = (rela.p_)->r_addend" identifier = (field_expression "(rela.p_)->r_addend" (parenthesized_expression "(rela.p_)" ( (field_expression "rela.p_" identifier . field_identifier) )) -> field_identifier)) ;) (expression_statement "local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;" (assignment_expression "local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18" identifier = (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal))) ;) (expression_statement "local_a8 = (int)local_ac >> 0x1f;" (assignment_expression "local_a8 = (int)local_ac >> 0x1f" identifier = (binary_expression "(int)local_ac >> 0x1f" (cast_expression "(int)local_ac" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (local_b8 < 0xd) goto LAB_0009d200;" if (parenthesized_expression "(local_b8 < 0xd)" ( (binary_expression "local_b8 < 0xd" identifier < number_literal) )) (goto_statement "goto LAB_0009d200;" goto statement_identifier ;)) (if_statement "if (local_b8 < 0x10) {\nLAB_0009d56d:\n                uVar16 = (rela.p_)->r_info;\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                uVar16 = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2b];\n                puVar33[-9] = 0x9d58e;\n                iVar20 = (*p_Var2)();\n                if ((char)iVar20 == '\0') {\n                  puVar33[-2] = local_94 + -0x650e7;\n                  puVar33[-3] = 0xd2c;\n                  puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f357;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2c];\n                puVar33[-9] = 0x9d5b2;\n                (*p_Var2)();\n                goto LAB_0009d200;\n              }" if (parenthesized_expression "(local_b8 < 0x10)" ( (binary_expression "local_b8 < 0x10" identifier < number_literal) )) (compound_statement "{\nLAB_0009d56d:\n                uVar16 = (rela.p_)->r_info;\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                uVar16 = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2b];\n                puVar33[-9] = 0x9d58e;\n                iVar20 = (*p_Var2)();\n                if ((char)iVar20 == '\0') {\n                  puVar33[-2] = local_94 + -0x650e7;\n                  puVar33[-3] = 0xd2c;\n                  puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f357;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }\n                pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;\n                puVar33[-4] = 0;\n                puVar33[-5] = 0;\n                puVar33[-6] = 0;\n                puVar33[-7] = uVar16;\n                puVar33[-8] = local_a4;\n                p_Var2 = pp_Var1[0x2c];\n                puVar33[-9] = 0x9d5b2;\n                (*p_Var2)();\n                goto LAB_0009d200;\n              }" { (labeled_statement "LAB_0009d56d:\n                uVar16 = (rela.p_)->r_info;" statement_identifier : (expression_statement "uVar16 = (rela.p_)->r_info;" (assignment_expression "uVar16 = (rela.p_)->r_info" identifier = (field_expression "(rela.p_)->r_info" (parenthesized_expression "(rela.p_)" ( (field_expression "rela.p_" identifier . field_identifier) )) -> field_identifier)) ;)) (expression_statement "pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;" (assignment_expression "pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object" identifier = (field_expression "(local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object" (field_expression "(local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object" (field_expression "(local_a4->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(local_a4->super_Sized_relobj<32,_true>)" ( (comma_expression "local_a4->super_Sized_relobj<32,_true" (binary_expression "local_a4->super_Sized_relobj<32" (field_expression "local_a4->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "uVar16 = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8;" (assignment_expression "uVar16 = ((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8" identifier = (binary_expression "((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18) >> 8" (parenthesized_expression "((uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18)" ( (binary_expression "(uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18" (binary_expression "(uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal)) )) >> number_literal)) ;) (expression_statement "puVar33[-4] = 0;" (assignment_expression "puVar33[-4] = 0" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-5] = 0;" (assignment_expression "puVar33[-5] = 0" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-6] = 0;" (assignment_expression "puVar33[-6] = 0" (subscript_expression "puVar33[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-7] = uVar16;" (assignment_expression "puVar33[-7] = uVar16" (subscript_expression "puVar33[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-8] = local_a4;" (assignment_expression "puVar33[-8] = local_a4" (subscript_expression "puVar33[-8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "p_Var2 = pp_Var1[0x2b];" (assignment_expression "p_Var2 = pp_Var1[0x2b]" identifier = (subscript_expression "pp_Var1[0x2b]" identifier [ number_literal ])) ;) (expression_statement "puVar33[-9] = 0x9d58e;" (assignment_expression "puVar33[-9] = 0x9d58e" (subscript_expression "puVar33[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar20 = (*p_Var2)();" (assignment_expression "iVar20 = (*p_Var2)()" identifier = (call_expression "(*p_Var2)()" (parenthesized_expression "(*p_Var2)" ( (pointer_expression "*p_Var2" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if ((char)iVar20 == '\0') {\n                  puVar33[-2] = local_94 + -0x650e7;\n                  puVar33[-3] = 0xd2c;\n                  puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f357;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }" if (parenthesized_expression "((char)iVar20 == '\0')" ( (binary_expression "(char)iVar20 == '\0'" (cast_expression "(char)iVar20" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  puVar33[-2] = local_94 + -0x650e7;\n                  puVar33[-3] = 0xd2c;\n                  puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */\n                  puVar33[-5] = 0x9f357;\n                  gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                }" { (expression_statement "puVar33[-2] = local_94 + -0x650e7;" (assignment_expression "puVar33[-2] = local_94 + -0x650e7" (subscript_expression "puVar33[-2]" identifier [ number_literal ]) = (binary_expression "local_94 + -0x650e7" identifier + number_literal)) ;) (expression_statement "puVar33[-3] = 0xd2c;" (assignment_expression "puVar33[-3] = 0xd2c" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-4] = (int)local_94 + -0x196252;" (assignment_expression "puVar33[-4] = (int)local_94 + -0x196252" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_94 + -0x196252" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "puVar33[-5] = 0x9f357;" (assignment_expression "puVar33[-5] = 0x9f357" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" (call_expression "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" identifier (argument_list "((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" ( (cast_expression "(char *)puVar33[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-4]" identifier [ number_literal ])) , (subscript_expression "puVar33[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar33[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-2]" identifier [ number_literal ])) ))) ;)) })) (expression_statement "pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object;" (assignment_expression "pp_Var1 = (local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object" identifier = (field_expression "(local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                          _vptr_Object" (field_expression "(local_a4->super_Sized_relobj<32,_true>).super_Relobj.super_Object" (field_expression "(local_a4->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(local_a4->super_Sized_relobj<32,_true>)" ( (comma_expression "local_a4->super_Sized_relobj<32,_true" (binary_expression "local_a4->super_Sized_relobj<32" (field_expression "local_a4->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "puVar33[-4] = 0;" (assignment_expression "puVar33[-4] = 0" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-5] = 0;" (assignment_expression "puVar33[-5] = 0" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-6] = 0;" (assignment_expression "puVar33[-6] = 0" (subscript_expression "puVar33[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-7] = uVar16;" (assignment_expression "puVar33[-7] = uVar16" (subscript_expression "puVar33[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-8] = local_a4;" (assignment_expression "puVar33[-8] = local_a4" (subscript_expression "puVar33[-8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "p_Var2 = pp_Var1[0x2c];" (assignment_expression "p_Var2 = pp_Var1[0x2c]" identifier = (subscript_expression "pp_Var1[0x2c]" identifier [ number_literal ])) ;) (expression_statement "puVar33[-9] = 0x9d5b2;" (assignment_expression "puVar33[-9] = 0x9d5b2" (subscript_expression "puVar33[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*p_Var2)();" (call_expression "(*p_Var2)()" (parenthesized_expression "(*p_Var2)" ( (pointer_expression "*p_Var2" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0009d200;" goto statement_identifier ;) })) (if_statement "if (2 < local_b8 - 0x52) goto LAB_0009d200;" if (parenthesized_expression "(2 < local_b8 - 0x52)" ( (binary_expression "2 < local_b8 - 0x52" number_literal < (binary_expression "local_b8 - 0x52" identifier - number_literal)) )) (goto_statement "goto LAB_0009d200;" goto statement_identifier ;)) (labeled_statement "LAB_0009ddfa:\n              puVar33[-2] = local_ac;" statement_identifier : (expression_statement "puVar33[-2] = local_ac;" (assignment_expression "puVar33[-2] = local_ac" (subscript_expression "puVar33[-2]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "puVar33[-3] = local_a4;" (assignment_expression "puVar33[-3] = local_a4" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-4] = local_9c;" (assignment_expression "puVar33[-4] = local_9c" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-5] = 0x9de14;" (assignment_expression "puVar33[-5] = 0x9de14" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "VVar22 = gold::Symbol_value<32>::value<true>\n                                 ((Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();" (binary_expression "VVar22 = gold::Symbol_value<32>::value<true>\n                                 ((Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))()" (binary_expression "VVar22 = gold::Symbol_value<32>::value<true" (binary_expression "VVar22 = gold::Symbol_value<32>::value" (binary_expression "VVar22 = gold::Symbol_value<32" (assignment_expression "VVar22 = gold" identifier = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < true) > (parenthesized_expression "((Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))()" ( (call_expression "(Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))()" (call_expression "(Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc) {\n                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))" (parenthesized_expression "(Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else {\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\nLAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc)" ( (ERROR "Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]);\n              pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }\n          else" (comma_expression "Symbol_value<32> *)puVar33[-4],\n                                  (Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2])" (binary_expression "Symbol_value<32> *)puVar33[-4]" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)puVar33[-4]" * (ERROR ")" )) (subscript_expression "puVar33[-4]" identifier [ number_literal ]))) , (parenthesized_expression "(Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2])" ( (comma_expression "Sized_relobj_file<32,_true> *)puVar33[-3],puVar33[-2]" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_true> *)puVar33[-3],puVar33[-2]" (binary_expression "_true> *)puVar33[-3]" identifier > (pointer_expression "*)puVar33[-3]" * (ERROR ")" )) (subscript_expression "puVar33[-3]" identifier [ number_literal ]))) , (subscript_expression "puVar33[-2]" identifier [ number_literal ]))) ))) ; (call_expression "pcVar27 = (this->sparc_info).dynamic_linker;\n              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0))" (assignment_expression "pcVar27 = (this->sparc_info).dynamic_linker" identifier = (field_expression "(this->sparc_info).dynamic_linker" (parenthesized_expression "(this->sparc_info)" ( (field_expression "this->sparc_info" identifier -> field_identifier) )) . field_identifier)) (ERROR ";\n              if" ; if) (argument_list "((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0))" ( (binary_expression "(pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)" (parenthesized_expression "(pcVar27 != (char *)0x0)" ( (binary_expression "pcVar27 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((pcVar27[0x1c] & 1U) == 0)" ( (binary_expression "(pcVar27[0x1c] & 1U) == 0" (parenthesized_expression "(pcVar27[0x1c] & 1U)" ( (binary_expression "pcVar27[0x1c] & 1U" (subscript_expression "pcVar27[0x1c]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) ))) (compound_statement "{\n                puVar33[-1] = VVar22;\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f40c;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }" { (expression_statement "puVar33[-1] = VVar22;" (assignment_expression "puVar33[-1] = VVar22" (subscript_expression "puVar33[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-2] = local_94 + -0x64eef;" (assignment_expression "puVar33[-2] = local_94 + -0x64eef" (subscript_expression "puVar33[-2]" identifier [ number_literal ]) = (binary_expression "local_94 + -0x64eef" identifier + number_literal)) ;) (expression_statement "puVar33[-3] = 0xc5;" (assignment_expression "puVar33[-3] = 0xc5" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-4] = (int)local_94 + -0x19cca3;" (assignment_expression "puVar33[-4] = (int)local_94 + -0x19cca3" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_94 + -0x19cca3" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar33[-5] = 0x9f40c;" (assignment_expression "puVar33[-5] = 0x9f40c" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" (call_expression "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" identifier (argument_list "((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" ( (cast_expression "(char *)puVar33[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-4]" identifier [ number_literal ])) , (subscript_expression "puVar33[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar33[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-2]" identifier [ number_literal ])) ))) ;)) }) } } else) (compound_statement "{\n            uVar16 = 0;\n            if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }\n            if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }\n          }" { (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (if_statement "if (local_b8 - 1 < 0x58) {\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }" if (parenthesized_expression "(local_b8 - 1 < 0x58)" ( (binary_expression "local_b8 - 1 < 0x58" (binary_expression "local_b8 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n              uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n            }" { (expression_statement "uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));" (assignment_expression "uVar16 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561))" identifier = (binary_expression "(uint)*(char *)((int)local_94 + (local_b8 - 0x194561))" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)((int)local_94 + (local_b8 - 0x194561))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + (local_b8 - 0x194561))" ( (binary_expression "(int)local_94 + (local_b8 - 0x194561)" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(local_b8 - 0x194561)" ( (binary_expression "local_b8 - 0x194561" identifier - number_literal) ))) ))))) ;) })) (if_statement "if (*(int *)((int)&local_90->dynamic_offset_ + 4) == -1) {\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }\n            else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }" if (parenthesized_expression "(*(int *)((int)&local_90->dynamic_offset_ + 4) == -1)" ( (binary_expression "*(int *)((int)&local_90->dynamic_offset_ + 4) == -1" (pointer_expression "*(int *)((int)&local_90->dynamic_offset_ + 4)" * (cast_expression "(int *)((int)&local_90->dynamic_offset_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_90->dynamic_offset_ + 4)" ( (binary_expression "(int)&local_90->dynamic_offset_ + 4" (cast_expression "(int)&local_90->dynamic_offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_90->dynamic_offset_" & (field_expression "local_90->dynamic_offset_" identifier -> field_identifier))) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }\n              local_b0 = &symval_1;\n            }" { (labeled_statement "LAB_0009d17c:\n              uVar16 = (rela.p_)->r_addend;" statement_identifier : (expression_statement "uVar16 = (rela.p_)->r_addend;" (assignment_expression "uVar16 = (rela.p_)->r_addend" identifier = (field_expression "(rela.p_)->r_addend" (parenthesized_expression "(rela.p_)" ( (field_expression "rela.p_" identifier . field_identifier) )) -> field_identifier)) ;)) (expression_statement "local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;" (assignment_expression "local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18" identifier = (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal))) ;) (expression_statement "local_a8 = (int)local_ac >> 0x1f;" (assignment_expression "local_a8 = (int)local_ac >> 0x1f" identifier = (binary_expression "(int)local_ac >> 0x1f" (cast_expression "(int)local_ac" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (0xc < local_b8) {\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }" if (parenthesized_expression "(0xc < local_b8)" ( (binary_expression "0xc < local_b8" number_literal < identifier) )) (compound_statement "{\n                if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }\n                if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }\n                goto LAB_0009d1f2;\n              }" { (if_statement "if (local_b8 < 0x10) {\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }" if (parenthesized_expression "(local_b8 < 0x10)" ( (binary_expression "local_b8 < 0x10" identifier < number_literal) )) (compound_statement "{\n                  local_b0 = &symval_1;\n                  goto LAB_0009cfd0;\n                }" { (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) (goto_statement "goto LAB_0009cfd0;" goto statement_identifier ;) })) (if_statement "if (local_b8 - 0x52 < 3) {\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }" if (parenthesized_expression "(local_b8 - 0x52 < 3)" ( (binary_expression "local_b8 - 0x52 < 3" (binary_expression "local_b8 - 0x52" identifier - number_literal) < number_literal) )) (compound_statement "{\n                  local_b0 = &symval_1;\n                  if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;\n                  goto LAB_0009ddfa;\n                }" { (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) (if_statement "if (local_90 != (Symbol_table *)0x0) goto LAB_0009cf73;" if (parenthesized_expression "(local_90 != (Symbol_table *)0x0)" ( (binary_expression "local_90 != (Symbol_table *)0x0" identifier != (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009cf73;" goto statement_identifier ;)) (goto_statement "goto LAB_0009ddfa;" goto statement_identifier ;) })) (goto_statement "goto LAB_0009d1f2;" goto statement_identifier ;) })) (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) }) (else_clause "else {\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }" else (compound_statement "{\n              bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_ac._0_1_ = bVar14;\n              if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }\n              iVar20 = (int)(this->sparc_info).default_text_segment_address;\n              if (iVar20 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n              puVar33[-3] = 0;\n              puVar33[-4] = local_90;\n              local_b0 = &symval_1;\n              puVar33[-5] = 0x9d0c3;\n              bVar13 = gold::Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));\n              local_9c = (Symbol_value<32> *)0x0;\n              local_98 = 0;\n              if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }\nLAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));\n              uVar16 = (rela.p_)->r_addend;\n              local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n              local_a8 = (int)local_ac >> 0x1f;\n              if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }\n              if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }\nLAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;\n              pGVar31 = pGVar17;\n              while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }\n              if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }\n              if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n            }" { (expression_statement "bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count;" (assignment_expression "bVar14 = (byte)(local_90->table_)._M_h._M_bucket_count" identifier = (field_expression "(byte)(local_90->table_)._M_h._M_bucket_count" (field_expression "(byte)(local_90->table_)._M_h" (call_expression "(byte)(local_90->table_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (expression_statement "local_ac._0_1_ = bVar14;" (assignment_expression "local_ac._0_1_ = bVar14" (field_expression "local_ac._0_1_" identifier . field_identifier) = identifier) ;) (if_statement "if ((bVar14 & 0xf) != 10) {\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }" if (parenthesized_expression "((bVar14 & 0xf) != 10)" ( (binary_expression "(bVar14 & 0xf) != 10" (parenthesized_expression "(bVar14 & 0xf)" ( (binary_expression "bVar14 & 0xf" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                puVar33[-3] = uVar16;\n                puVar33[-4] = local_90;\n                local_b0 = &symval_1;\n                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9ce95;\n                bVar13 = gold::Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);\n                if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }\n                goto LAB_0009d17c;\n              }" { (expression_statement "puVar33[-3] = uVar16;" (assignment_expression "puVar33[-3] = uVar16" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-4] = local_90;" (assignment_expression "puVar33[-4] = local_90" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) comment (expression_statement "puVar33[-5] = 0x9ce95;" (assignment_expression "puVar33[-5] = 0x9ce95" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (ERROR "bVar13 = gold::" (assignment_expression "bVar13 = gold" identifier = identifier) : :) (labeled_statement "Symbol::needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);" statement_identifier : (ERROR ":" :) (expression_statement "needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3]);" (call_expression "needs_dynamic_reloc((Symbol *)puVar33[-4],puVar33[-3])" identifier (argument_list "((Symbol *)puVar33[-4],puVar33[-3])" ( (cast_expression "(Symbol *)puVar33[-4]" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-4]" identifier [ number_literal ])) , (subscript_expression "puVar33[-3]" identifier [ number_literal ]) ))) ;)) (if_statement "if (!bVar13) {\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n                  local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                  bVar14 = (byte)local_ac & 7;\n                  if (((byte)local_ac & 7) != 0) goto LAB_0009d110;\n                  if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;\nLAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;\n                  if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }\nLAB_0009d100:\n                  local_b0 = &symval_1;\n                  puVar33[-1] = 0x9d10e;\n                  pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);\n                  bVar14 = (byte)pOVar18;\nLAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }\n                  uVar16 = uVar16 & 8;\n                  if (uVar16 == 0) goto LAB_0009d17c;\n                  sVar11 = (local_90->table_)._M_h._M_bucket_count;\n                  if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;\n                  local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;\n                  if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                }" { (expression_statement "local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);" (assignment_expression "local_ac._0_1_ =\n                       *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2)" (field_expression "local_ac._0_1_" identifier . field_identifier) = (pointer_expression "*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2)" * (cast_expression "(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_90->table_)._M_h._M_bucket_count + 2)" ( (binary_expression "(int)&(local_90->table_)._M_h._M_bucket_count + 2" (cast_expression "(int)&(local_90->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_90->table_)._M_h._M_bucket_count" & (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "bVar14 = (byte)local_ac & 7;" (assignment_expression "bVar14 = (byte)local_ac & 7" identifier = (binary_expression "(byte)local_ac & 7" (cast_expression "(byte)local_ac" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (if_statement "if (((byte)local_ac & 7) != 0) goto LAB_0009d110;" if (parenthesized_expression "(((byte)local_ac & 7) != 0)" ( (binary_expression "((byte)local_ac & 7) != 0" (parenthesized_expression "((byte)local_ac & 7)" ( (binary_expression "(byte)local_ac & 7" (cast_expression "(byte)local_ac" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009d110;" goto statement_identifier ;)) (if_statement "if ((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)\n                  goto LAB_0009d110;" if (parenthesized_expression "((*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0)" ( (binary_expression "(*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1) == 0" (parenthesized_expression "(*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1)" ( (binary_expression "*(byte *)(*(size_type *)&local_90->offset_ + 0x2c) & 1" (pointer_expression "*(byte *)(*(size_type *)&local_90->offset_ + 0x2c)" * (cast_expression "(byte *)(*(size_type *)&local_90->offset_ + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(size_type *)&local_90->offset_ + 0x2c)" ( (binary_expression "*(size_type *)&local_90->offset_ + 0x2c" (pointer_expression "*(size_type *)&local_90->offset_" * (cast_expression "(size_type *)&local_90->offset_" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_90->offset_" & (field_expression "local_90->offset_" identifier -> field_identifier)))) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009d110;" goto statement_identifier ;)) (labeled_statement "LAB_0009cec6:\n                  iVar20 = (int)(this->sparc_info).default_text_segment_address;" statement_identifier : (expression_statement "iVar20 = (int)(this->sparc_info).default_text_segment_address;" (assignment_expression "iVar20 = (int)(this->sparc_info).default_text_segment_address" identifier = (cast_expression "(int)(this->sparc_info).default_text_segment_address" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->sparc_info).default_text_segment_address" (parenthesized_expression "(this->sparc_info)" ( (field_expression "this->sparc_info" identifier -> field_identifier) )) . field_identifier))) ;)) (if_statement "if (iVar20 != 0) {\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (compound_statement "{\n                    if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;\n                    local_9c = (Symbol_value<32> *)0x0;\n                    local_98 = 0;\n                    goto LAB_0009cefd;\n                  }" { (if_statement "if (((local_90->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;" if (parenthesized_expression "(((local_90->table_)._M_h._M_bucket_count & 0xf) == 10)" ( (binary_expression "((local_90->table_)._M_h._M_bucket_count & 0xf) == 10" (parenthesized_expression "((local_90->table_)._M_h._M_bucket_count & 0xf)" ( (binary_expression "(local_90->table_)._M_h._M_bucket_count & 0xf" (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009d0aa;" goto statement_identifier ;)) (expression_statement "local_9c = (Symbol_value<32> *)0x0;" (assignment_expression "local_9c = (Symbol_value<32> *)0x0" identifier = (parenthesized_expression "(Symbol_value<32> *)0x0" ( (binary_expression "Symbol_value<32> *)0x0" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0009cefd;" goto statement_identifier ;) })) (labeled_statement "LAB_0009d100:\n                  local_b0 = &symval_1;" statement_identifier : (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;)) (expression_statement "puVar33[-1] = 0x9d10e;" (assignment_expression "puVar33[-1] = 0x9d10e" (subscript_expression "puVar33[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33);" (assignment_expression "pOVar18 = plt_section((Target_sparc<32,_true> *)*puVar33)" identifier = (call_expression "plt_section((Target_sparc<32,_true> *)*puVar33)" identifier (argument_list "((Target_sparc<32,_true> *)*puVar33)" ( (binary_expression "(Target_sparc<32,_true> *)*puVar33" (parenthesized_expression "(Target_sparc<32,_true> *)" ( (comma_expression "Target_sparc<32,_true> *" (binary_expression "Target_sparc<32" identifier < number_literal) , (binary_expression "_true> *" identifier > (pointer_expression "*" * identifier))) )) * identifier) )))) ;) (expression_statement "bVar14 = (byte)pOVar18;" (assignment_expression "bVar14 = (byte)pOVar18" identifier = (cast_expression "(byte)pOVar18" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (labeled_statement "LAB_0009d110:\n                  ppuVar38 = local_94 + 0x1f2;" statement_identifier : (expression_statement "ppuVar38 = local_94 + 0x1f2;" (assignment_expression "ppuVar38 = local_94 + 0x1f2" identifier = (binary_expression "local_94 + 0x1f2" identifier + number_literal)) ;)) (if_statement "if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }" if (parenthesized_expression "(*(int *)(*ppuVar38 + 8) == 0)" ( (binary_expression "*(int *)(*ppuVar38 + 8) == 0" (pointer_expression "*(int *)(*ppuVar38 + 8)" * (cast_expression "(int *)(*ppuVar38 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppuVar38 + 8)" ( (binary_expression "*ppuVar38 + 8" (pointer_expression "*ppuVar38" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = 0x9f37a;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }" { (expression_statement "puVar33[-2] = local_94 + -0x64ebf;" (assignment_expression "puVar33[-2] = local_94 + -0x64ebf" (subscript_expression "puVar33[-2]" identifier [ number_literal ]) = (binary_expression "local_94 + -0x64ebf" identifier + number_literal)) ;) (expression_statement "puVar33[-3] = 0x5c;" (assignment_expression "puVar33[-3] = 0x5c" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-4] = (int)local_94 + -0x1a1d93;" (assignment_expression "puVar33[-4] = (int)local_94 + -0x1a1d93" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) comment (expression_statement "puVar33[-5] = 0x9f37a;" (assignment_expression "puVar33[-5] = 0x9f37a" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" (call_expression "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" identifier (argument_list "((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" ( (cast_expression "(char *)puVar33[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-4]" identifier [ number_literal ])) , (subscript_expression "puVar33[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar33[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-2]" identifier [ number_literal ])) ))) ;)) })) (if_statement "if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }" if (parenthesized_expression "(*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0')" ( (binary_expression "*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0'" (pointer_expression "*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25)" * (cast_expression "(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*ppuVar38 + 8) + 0x1a25)" ( (binary_expression "*(int *)(*ppuVar38 + 8) + 0x1a25" (pointer_expression "*(int *)(*ppuVar38 + 8)" * (cast_expression "(int *)(*ppuVar38 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppuVar38 + 8)" ( (binary_expression "*ppuVar38 + 8" (pointer_expression "*ppuVar38" * identifier) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;\n                    puVar33[-4] = local_90;\n                    local_b0 = &symval_1;\n                    puVar33[-5] = 0x9d168;\n                    bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                    if (bVar13) goto LAB_0009cec6;\n                  }" { (if_statement "if (bVar14 == 0) {\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }\n                    else if (bVar14 == 4) goto LAB_0009cec6;" if (parenthesized_expression "(bVar14 == 0)" ( (binary_expression "bVar14 == 0" identifier == number_literal) )) (compound_statement "{\n                      if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;\n                    }" { (if_statement "if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))\n                      goto LAB_0009cec6;" if (parenthesized_expression "((((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->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_90->offset_ + 1))->shndx == 0)\n                         && (((local_90->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_90->offset_ + 1))->shndx == 0)" ( (binary_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0" (field_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx" (parenthesized_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))" ( (cast_expression "(anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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_90->offset_ + 1)" ( (binary_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1" (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_90->offset_" & (field_expression "local_90->offset_" identifier -> field_identifier))) + number_literal) ))) )) -> field_identifier) == number_literal) )) && (parenthesized_expression "(((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)" ( (binary_expression "((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0" (parenthesized_expression "((local_90->table_)._M_h._M_bucket_count & 0x20000000)" ( (binary_expression "(local_90->table_)._M_h._M_bucket_count & 0x20000000" (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0009cec6;" goto statement_identifier ;)) }) (else_clause "else if (bVar14 == 4) goto LAB_0009cec6;" else (if_statement "if (bVar14 == 4) goto LAB_0009cec6;" if (parenthesized_expression "(bVar14 == 4)" ( (binary_expression "bVar14 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0009cec6;" goto statement_identifier ;)))) (expression_statement "puVar33[-4] = local_90;" (assignment_expression "puVar33[-4] = local_90" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) (expression_statement "puVar33[-5] = 0x9d168;" (assignment_expression "puVar33[-5] = 0x9d168" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (ERROR "bVar13 = gold::" (assignment_expression "bVar13 = gold" identifier = identifier) : :) (labeled_statement "Symbol::is_preemptible((Symbol *)puVar33[-4]);" statement_identifier : (ERROR ":" :) (expression_statement "is_preemptible((Symbol *)puVar33[-4]);" (call_expression "is_preemptible((Symbol *)puVar33[-4])" identifier (argument_list "((Symbol *)puVar33[-4])" ( (cast_expression "(Symbol *)puVar33[-4]" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-4]" identifier [ number_literal ])) ))) ;)) (if_statement "if (bVar13) goto LAB_0009cec6;" if (parenthesized_expression "(bVar13)" ( identifier )) (goto_statement "goto LAB_0009cec6;" goto statement_identifier ;)) })) (expression_statement "uVar16 = uVar16 & 8;" (assignment_expression "uVar16 = uVar16 & 8" identifier = (binary_expression "uVar16 & 8" identifier & number_literal)) ;) (if_statement "if (uVar16 == 0) goto LAB_0009d17c;" if (parenthesized_expression "(uVar16 == 0)" ( (binary_expression "uVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009d17c;" goto statement_identifier ;)) (expression_statement "sVar11 = (local_90->table_)._M_h._M_bucket_count;" (assignment_expression "sVar11 = (local_90->table_)._M_h._M_bucket_count" identifier = (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((sVar11 & 0x70000) == 0) {\n                    if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }\n                  else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;" if (parenthesized_expression "((sVar11 & 0x70000) == 0)" ( (binary_expression "(sVar11 & 0x70000) == 0" (parenthesized_expression "(sVar11 & 0x70000)" ( (binary_expression "sVar11 & 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_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;\n                    uVar16 = 0;\n                  }" { (if_statement "if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))\n                    goto LAB_0009d17c;" if (parenthesized_expression "((((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->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_90->offset_ + 1))->shndx != 0)\n                       || (((local_90->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_90->offset_ + 1))->shndx != 0)" ( (binary_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0" (field_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx" (parenthesized_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))" ( (cast_expression "(anon_union_4_3_b582a2bd_for_u2_ *)\n                         ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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_90->offset_ + 1)" ( (binary_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1" (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_90->offset_" & (field_expression "local_90->offset_" identifier -> field_identifier))) + number_literal) ))) )) -> field_identifier) != number_literal) )) || (parenthesized_expression "(((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)" ( (binary_expression "((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0" (parenthesized_expression "((local_90->table_)._M_h._M_bucket_count & 0x20000000)" ( (binary_expression "(local_90->table_)._M_h._M_bucket_count & 0x20000000" (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_0009d17c;" goto statement_identifier ;)) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) }) (else_clause "else if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;" else (if_statement "if ((sVar11 & 0x70000) != 0x40000) goto LAB_0009d17c;" if (parenthesized_expression "((sVar11 & 0x70000) != 0x40000)" ( (binary_expression "(sVar11 & 0x70000) != 0x40000" (parenthesized_expression "(sVar11 & 0x70000)" ( (binary_expression "sVar11 & 0x70000" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009d17c;" goto statement_identifier ;)))) (expression_statement "local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count;" (assignment_expression "local_ac._0_1_ = (byte)(local_90->table_)._M_h._M_bucket_count" (field_expression "local_ac._0_1_" identifier . field_identifier) = (field_expression "(byte)(local_90->table_)._M_h._M_bucket_count" (field_expression "(byte)(local_90->table_)._M_h" (call_expression "(byte)(local_90->table_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (if_statement "if (((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009cec6;" if (parenthesized_expression "(((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))" ( (binary_expression "((byte)local_ac >> 4 == 2) ||\n                     (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)" (parenthesized_expression "((byte)local_ac >> 4 == 2)" ( (binary_expression "(byte)local_ac >> 4 == 2" (binary_expression "(byte)local_ac >> 4" (cast_expression "(byte)local_ac" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal) == number_literal) )) || (parenthesized_expression "(((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)" ( (binary_expression "((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0" (parenthesized_expression "((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2)" ( (binary_expression "(uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2" (field_expression "(uint)(local_90->table_)._M_h._M_before_begin._M_nxt" (field_expression "(uint)(local_90->table_)._M_h._M_before_begin" (field_expression "(uint)(local_90->table_)._M_h" (call_expression "(uint)(local_90->table_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0009cec6;" goto statement_identifier ;)) (if_statement "if (*(int *)(*ppuVar38 + 8) == 0) {\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }" if (parenthesized_expression "(*(int *)(*ppuVar38 + 8) == 0)" ( (binary_expression "*(int *)(*ppuVar38 + 8) == 0" (pointer_expression "*(int *)(*ppuVar38 + 8)" * (cast_expression "(int *)(*ppuVar38 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppuVar38 + 8)" ( (binary_expression "*ppuVar38 + 8" (pointer_expression "*ppuVar38" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    puVar33[-1] = ppuVar38;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    puVar33[-5] = &LAB_0009f4c3;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }" { (expression_statement "puVar33[-1] = ppuVar38;" (assignment_expression "puVar33[-1] = ppuVar38" (subscript_expression "puVar33[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-2] = local_94 + -0x64ebf;" (assignment_expression "puVar33[-2] = local_94 + -0x64ebf" (subscript_expression "puVar33[-2]" identifier [ number_literal ]) = (binary_expression "local_94 + -0x64ebf" identifier + number_literal)) ;) (expression_statement "puVar33[-3] = 0x5c;" (assignment_expression "puVar33[-3] = 0x5c" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-4] = (int)local_94 + -0x1a1d93;" (assignment_expression "puVar33[-4] = (int)local_94 + -0x1a1d93" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) comment (expression_statement "puVar33[-5] = &LAB_0009f4c3;" (assignment_expression "puVar33[-5] = &LAB_0009f4c3" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = (pointer_expression "&LAB_0009f4c3" & identifier)) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" (call_expression "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" identifier (argument_list "((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" ( (cast_expression "(char *)puVar33[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-4]" identifier [ number_literal ])) , (subscript_expression "puVar33[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar33[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-2]" identifier [ number_literal ])) ))) ;)) })) (if_statement "if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;" if (parenthesized_expression "(*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0')" ( (binary_expression "*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0'" (pointer_expression "*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1)" * (cast_expression "(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*ppuVar38 + 8) + 0x49b1)" ( (binary_expression "*(int *)(*ppuVar38 + 8) + 0x49b1" (pointer_expression "*(int *)(*ppuVar38 + 8)" * (cast_expression "(int *)(*ppuVar38 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppuVar38 + 8)" ( (binary_expression "*ppuVar38 + 8" (pointer_expression "*ppuVar38" * identifier) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009cec6;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0009d17c;" goto statement_identifier ;) })) (expression_statement "iVar20 = (int)(this->sparc_info).default_text_segment_address;" (assignment_expression "iVar20 = (int)(this->sparc_info).default_text_segment_address" identifier = (cast_expression "(int)(this->sparc_info).default_text_segment_address" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->sparc_info).default_text_segment_address" (parenthesized_expression "(this->sparc_info)" ( (field_expression "this->sparc_info" identifier -> field_identifier) )) . field_identifier))) ;) (if_statement "if (iVar20 == 0) goto LAB_0009d100;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009d100;" goto statement_identifier ;)) (labeled_statement "LAB_0009d0aa:\n              puVar33[-3] = 0;" statement_identifier : (expression_statement "puVar33[-3] = 0;" (assignment_expression "puVar33[-3] = 0" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "puVar33[-4] = local_90;" (assignment_expression "puVar33[-4] = local_90" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) (expression_statement "puVar33[-5] = 0x9d0c3;" (assignment_expression "puVar33[-5] = 0x9d0c3" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (ERROR "bVar13 = gold::" (assignment_expression "bVar13 = gold" identifier = identifier) : :) (labeled_statement "Symbol::can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));" statement_identifier : (ERROR ":" :) (expression_statement "can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3));" (call_expression "can_use_relative_reloc\n                                 ((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3))" identifier (argument_list "((Symbol *)puVar33[-4],*(bool *)(puVar33 + -3))" ( (cast_expression "(Symbol *)puVar33[-4]" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-4]" identifier [ number_literal ])) , (pointer_expression "*(bool *)(puVar33 + -3)" * (cast_expression "(bool *)(puVar33 + -3)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + -3)" ( (binary_expression "puVar33 + -3" identifier + number_literal) )))) ))) ;)) (expression_statement "local_9c = (Symbol_value<32> *)0x0;" (assignment_expression "local_9c = (Symbol_value<32> *)0x0" identifier = (parenthesized_expression "(Symbol_value<32> *)0x0" ( (binary_expression "Symbol_value<32> *)0x0" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (if_statement "if (bVar13) {\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }" if (parenthesized_expression "(bVar13)" ( identifier )) (compound_statement "{\n                local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);\n                local_98 = (int)local_9c >> 0x1f;\n              }" { (expression_statement "local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4);" (assignment_expression "local_9c = (Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4)" identifier = (call_expression "(Symbol_value<32> *)((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4)" (parenthesized_expression "(Symbol_value<32> *)" ( (binary_expression "Symbol_value<32> *" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "((*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4)" ( (binary_expression "(*(int *)(iVar20 + 0x34) * 3 + 0xc) * 4" (parenthesized_expression "(*(int *)(iVar20 + 0x34) * 3 + 0xc)" ( (binary_expression "*(int *)(iVar20 + 0x34) * 3 + 0xc" (binary_expression "*(int *)(iVar20 + 0x34) * 3" (pointer_expression "*(int *)(iVar20 + 0x34)" * (cast_expression "(int *)(iVar20 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x34)" ( (binary_expression "iVar20 + 0x34" identifier + number_literal) )))) * number_literal) + number_literal) )) * number_literal) )))) ;) (expression_statement "local_98 = (int)local_9c >> 0x1f;" (assignment_expression "local_98 = (int)local_9c >> 0x1f" identifier = (binary_expression "(int)local_9c >> 0x1f" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) })) (labeled_statement "LAB_0009cefd:\n              if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }" statement_identifier : (if_statement "if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }" if (parenthesized_expression "((*(byte *)(iVar20 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar20 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar20 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar20 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar20 + 0x1c)" * (cast_expression "(byte *)(iVar20 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x1c)" ( (binary_expression "iVar20 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                puVar33[-2] = local_94 + -0x64eef;\n                puVar33[-3] = 0xc5;\n                puVar33[-4] = (int)local_94 + -0x19cca3;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */\n                puVar33[-5] = 0x9f2cd;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }" { (expression_statement "puVar33[-2] = local_94 + -0x64eef;" (assignment_expression "puVar33[-2] = local_94 + -0x64eef" (subscript_expression "puVar33[-2]" identifier [ number_literal ]) = (binary_expression "local_94 + -0x64eef" identifier + number_literal)) ;) (expression_statement "puVar33[-3] = 0xc5;" (assignment_expression "puVar33[-3] = 0xc5" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-4] = (int)local_94 + -0x19cca3;" (assignment_expression "puVar33[-4] = (int)local_94 + -0x19cca3" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_94 + -0x19cca3" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) comment comment (expression_statement "puVar33[-5] = 0x9f2cd;" (assignment_expression "puVar33[-5] = 0x9f2cd" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" (call_expression "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" identifier (argument_list "((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" ( (cast_expression "(char *)puVar33[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-4]" identifier [ number_literal ])) , (subscript_expression "puVar33[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar33[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-2]" identifier [ number_literal ])) ))) ;)) }))) (if_statement "if (*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff) {\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }" if (parenthesized_expression "(*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff)" ( (binary_expression "*(uint *)((int)&local_90->dynamic_offset_ + 4) == 0xffffffff" (pointer_expression "*(uint *)((int)&local_90->dynamic_offset_ + 4)" * (cast_expression "(uint *)((int)&local_90->dynamic_offset_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_90->dynamic_offset_ + 4)" ( (binary_expression "(int)&local_90->dynamic_offset_ + 4" (cast_expression "(int)&local_90->dynamic_offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_90->dynamic_offset_" & (field_expression "local_90->dynamic_offset_" identifier -> field_identifier))) + number_literal) )))) == number_literal) )) (compound_statement "{\n                puVar33[-2] = local_94 + -0x64fb3;\n                puVar33[-3] = 0x1ce;\n                puVar33[-4] = local_94 + -0x67308;\n                local_b0 = &symval_1;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = 0x9f2f7;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }" { (expression_statement "puVar33[-2] = local_94 + -0x64fb3;" (assignment_expression "puVar33[-2] = local_94 + -0x64fb3" (subscript_expression "puVar33[-2]" identifier [ number_literal ]) = (binary_expression "local_94 + -0x64fb3" identifier + number_literal)) ;) (expression_statement "puVar33[-3] = 0x1ce;" (assignment_expression "puVar33[-3] = 0x1ce" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-4] = local_94 + -0x67308;" (assignment_expression "puVar33[-4] = local_94 + -0x67308" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "local_94 + -0x67308" identifier + number_literal)) ;) (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) comment (expression_statement "puVar33[-5] = 0x9f2f7;" (assignment_expression "puVar33[-5] = 0x9f2f7" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" (call_expression "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" identifier (argument_list "((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" ( (cast_expression "(char *)puVar33[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-4]" identifier [ number_literal ])) , (subscript_expression "puVar33[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar33[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-2]" identifier [ number_literal ])) ))) ;)) })) (expression_statement "symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4));" (assignment_expression "symval_1.u_.merged_symbol_value =\n                   (Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4))" (field_expression "symval_1.u_.merged_symbol_value" (field_expression "symval_1.u_" identifier . field_identifier) . field_identifier) = (call_expression "(Merged_symbol_value<32> *)\n                   (*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4))" (parenthesized_expression "(Merged_symbol_value<32> *)" ( (binary_expression "Merged_symbol_value<32> *" (binary_expression "Merged_symbol_value<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4))" ( (binary_expression "*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c +\n                   *(int *)(iVar20 + 4)" (binary_expression "*(uint *)((int)&local_90->dynamic_offset_ + 4) + (int)local_9c" (pointer_expression "*(uint *)((int)&local_90->dynamic_offset_ + 4)" * (cast_expression "(uint *)((int)&local_90->dynamic_offset_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_90->dynamic_offset_ + 4)" ( (binary_expression "(int)&local_90->dynamic_offset_ + 4" (cast_expression "(int)&local_90->dynamic_offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_90->dynamic_offset_" & (field_expression "local_90->dynamic_offset_" identifier -> field_identifier))) + number_literal) )))) + (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier)) + (pointer_expression "*(int *)(iVar20 + 4)" * (cast_expression "(int *)(iVar20 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 4)" ( (binary_expression "iVar20 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "uVar16 = (rela.p_)->r_addend;" (assignment_expression "uVar16 = (rela.p_)->r_addend" identifier = (field_expression "(rela.p_)->r_addend" (parenthesized_expression "(rela.p_)" ( (field_expression "rela.p_" identifier . field_identifier) )) -> field_identifier)) ;) (expression_statement "local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18;" (assignment_expression "local_ac = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18" identifier = (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                         uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal))) ;) (expression_statement "local_a8 = (int)local_ac >> 0x1f;" (assignment_expression "local_a8 = (int)local_ac >> 0x1f" identifier = (binary_expression "(int)local_ac >> 0x1f" (cast_expression "(int)local_ac" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (local_b8 < 0xd) {\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }" if (parenthesized_expression "(local_b8 < 0xd)" ( (binary_expression "local_b8 < 0xd" identifier < number_literal) )) (compound_statement "{\n                local_b0 = &symval_1;\n                local_9c = local_b0;\n                goto LAB_0009d200;\n              }" { (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) (expression_statement "local_9c = local_b0;" (assignment_expression "local_9c = local_b0" identifier = identifier) ;) (goto_statement "goto LAB_0009d200;" goto statement_identifier ;) })) (if_statement "if (local_b8 < 0x10) {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }\n              else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }" if (parenthesized_expression "(local_b8 < 0x10)" ( (binary_expression "local_b8 < 0x10" identifier < number_literal) )) (compound_statement "{\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;\n              }" { (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) (expression_statement "local_9c = &symval_1;" (assignment_expression "local_9c = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) (if_statement "if (local_90 == (Symbol_table *)0x0) goto LAB_0009d56d;" if (parenthesized_expression "(local_90 == (Symbol_table *)0x0)" ( (binary_expression "local_90 == (Symbol_table *)0x0" identifier == (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009d56d;" goto statement_identifier ;)) }) (else_clause "else {\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }" else (compound_statement "{\n                local_b0 = &symval_1;\n                local_9c = &symval_1;\n                if (2 < local_b8 - 0x52) goto LAB_0009d200;\nLAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                local_c8 = CONCAT31(local_c8._1_3_,bVar14);\n                if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }\n              }" { (expression_statement "local_b0 = &symval_1;" (assignment_expression "local_b0 = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) (expression_statement "local_9c = &symval_1;" (assignment_expression "local_9c = &symval_1" identifier = (pointer_expression "&symval_1" & identifier)) ;) (if_statement "if (2 < local_b8 - 0x52) goto LAB_0009d200;" if (parenthesized_expression "(2 < local_b8 - 0x52)" ( (binary_expression "2 < local_b8 - 0x52" number_literal < (binary_expression "local_b8 - 0x52" identifier - number_literal)) )) (goto_statement "goto LAB_0009d200;" goto statement_identifier ;)) (labeled_statement "LAB_0009cf73:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);" statement_identifier : (expression_statement "bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);" (assignment_expression "bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2)" * (cast_expression "(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_90->table_)._M_h._M_bucket_count + 2)" ( (binary_expression "(int)&(local_90->table_)._M_h._M_bucket_count + 2" (cast_expression "(int)&(local_90->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_90->table_)._M_h._M_bucket_count" & (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;)) (expression_statement "local_c8 = CONCAT31(local_c8._1_3_,bVar14);" (assignment_expression "local_c8 = CONCAT31(local_c8._1_3_,bVar14)" identifier = (call_expression "CONCAT31(local_c8._1_3_,bVar14)" identifier (argument_list "(local_c8._1_3_,bVar14)" ( (field_expression "local_c8._1_3_" identifier . field_identifier) , identifier )))) ;) (if_statement "if ((bVar14 & 7) == 0) {\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }\n                else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }" if (parenthesized_expression "((bVar14 & 7) == 0)" ( (binary_expression "(bVar14 & 7) == 0" (parenthesized_expression "(bVar14 & 7)" ( (binary_expression "bVar14 & 7" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                  if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }\n                }" { (if_statement "if (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0) {\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }\n                  else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }" if (parenthesized_expression "(((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)" ( (binary_expression "((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0" (parenthesized_expression "((local_90->table_)._M_h._M_bucket_count & 0x20000000)" ( (binary_expression "(local_90->table_)._M_h._M_bucket_count & 0x20000000" (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                    puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;\n                    puVar33[-5] = 0x9d01f;\n                    bVar13 = gold::Symbol::is_common_shndx(puVar33[-4]);\n                    if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }\n                  }" { (expression_statement "puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx;" (assignment_expression "puVar33[-4] = ((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (field_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->\n                                  shndx" (parenthesized_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))" ( (cast_expression "(anon_union_4_3_b582a2bd_for_u2_ *)\n                                  ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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_90->offset_ + 1)" ( (binary_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1" (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_90->offset_" & (field_expression "local_90->offset_" identifier -> field_identifier))) + number_literal) ))) )) -> field_identifier)) ;) (expression_statement "puVar33[-5] = 0x9d01f;" (assignment_expression "puVar33[-5] = 0x9d01f" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (ERROR "bVar13 = gold::" (assignment_expression "bVar13 = gold" identifier = identifier) : :) (labeled_statement "Symbol::is_common_shndx(puVar33[-4]);" statement_identifier : (ERROR ":" :) (expression_statement "is_common_shndx(puVar33[-4]);" (call_expression "is_common_shndx(puVar33[-4])" identifier (argument_list "(puVar33[-4])" ( (subscript_expression "puVar33[-4]" identifier [ number_literal ]) ))) ;)) (if_statement "if (!bVar13) {\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n                      if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;\n                      goto LAB_0009cf9f;\n                    }" { (if_statement "if (((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)\n                      goto LAB_0009cfae;" if (parenthesized_expression "(((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0)" ( (binary_expression "((local_90->table_)._M_h._M_bucket_count & 0x70000) != 0" (parenthesized_expression "((local_90->table_)._M_h._M_bucket_count & 0x70000)" ( (binary_expression "(local_90->table_)._M_h._M_bucket_count & 0x70000" (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009cfae;" goto statement_identifier ;)) (goto_statement "goto LAB_0009cf9f;" goto statement_identifier ;) })) }) (else_clause "else if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }" else (if_statement "if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)\n                  {\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }" if (parenthesized_expression "(((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0)" ( (binary_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx != 0" (field_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx" (parenthesized_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))" ( (cast_expression "(anon_union_4_3_b582a2bd_for_u2_ *)\n                           ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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_90->offset_ + 1)" ( (binary_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1" (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_90->offset_" & (field_expression "local_90->offset_" identifier -> field_identifier))) + number_literal) ))) )) -> field_identifier) != number_literal) )) (compound_statement "{\nLAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;\n                  }" { (labeled_statement "LAB_0009cf9f:\n                    if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;" statement_identifier : (if_statement "if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_0009cfae;" if (parenthesized_expression "(((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->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_90->offset_)->\n                               output_segment->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_90->offset_)->\n                               output_segment->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_90->offset_)->\n                               output_segment->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_90->offset_)->\n                               output_segment->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_90->offset_)->\n                               output_segment->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_90->offset_)->\n                               output_segment->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_90->offset_)->\n                               output_segment->output_lists_[3].\n                               super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->output_lists_[3].\n                               super__Vector_base<gold::Output_data*,_std" (binary_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->output_lists_[3].\n                               super__Vector_base<gold" (field_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->output_lists_[3].\n                               super__Vector_base" (subscript_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->output_lists_[3]" (field_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment->output_lists_" (field_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->\n                               output_segment" (call_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)" ( (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_90->offset_" & (field_expression "local_90->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_0009cfae;" goto statement_identifier ;))) })))) }) (else_clause "else if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }" else (if_statement "if ((bVar14 & 7) != 4) {\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }" if (parenthesized_expression "((bVar14 & 7) != 4)" ( (binary_expression "(bVar14 & 7) != 4" (parenthesized_expression "(bVar14 & 7)" ( (binary_expression "bVar14 & 7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0009cfae:\n                  puVar33[-4] = local_90;\n                  puVar33[-5] = 0x9cfbc;\n                  bVar13 = gold::Symbol::is_preemptible((Symbol *)puVar33[-4]);\n                  if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;\n                }" { (labeled_statement "LAB_0009cfae:\n                  puVar33[-4] = local_90;" statement_identifier : (expression_statement "puVar33[-4] = local_90;" (assignment_expression "puVar33[-4] = local_90" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "puVar33[-5] = 0x9cfbc;" (assignment_expression "puVar33[-5] = 0x9cfbc" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (ERROR "bVar13 = gold::" (assignment_expression "bVar13 = gold" identifier = identifier) : :) (labeled_statement "Symbol::is_preemptible((Symbol *)puVar33[-4]);" statement_identifier : (ERROR ":" :) (expression_statement "is_preemptible((Symbol *)puVar33[-4]);" (call_expression "is_preemptible((Symbol *)puVar33[-4])" identifier (argument_list "((Symbol *)puVar33[-4])" ( (cast_expression "(Symbol *)puVar33[-4]" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-4]" identifier [ number_literal ])) ))) ;)) (if_statement "if ((!bVar13) && (bVar30 == 0)) goto LAB_0009ddfa;" if (parenthesized_expression "((!bVar13) && (bVar30 == 0))" ( (binary_expression "(!bVar13) && (bVar30 == 0)" (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) && (parenthesized_expression "(bVar30 == 0)" ( (binary_expression "bVar30 == 0" identifier == number_literal) ))) )) (goto_statement "goto LAB_0009ddfa;" goto statement_identifier ;)) })))) }))) (labeled_statement "LAB_0009cfd0:\n              pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;" statement_identifier : (expression_statement "pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_;" (assignment_expression "pGVar17 = (Got_offset_list *)&local_90->first_dynamic_global_index_" identifier = (cast_expression "(Got_offset_list *)&local_90->first_dynamic_global_index_" ( (type_descriptor "Got_offset_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_90->first_dynamic_global_index_" & (field_expression "local_90->first_dynamic_global_index_" identifier -> field_identifier)))) ;)) (expression_statement "pGVar31 = pGVar17;" (assignment_expression "pGVar31 = pGVar17" identifier = identifier) ;) (while_statement "while (pGVar31->got_type_ != 0) {\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }" while (parenthesized_expression "(pGVar31->got_type_ != 0)" ( (binary_expression "pGVar31->got_type_ != 0" (field_expression "pGVar31->got_type_" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                pGVar31 = pGVar31->got_next_;\n                if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;\n              }" { (expression_statement "pGVar31 = pGVar31->got_next_;" (assignment_expression "pGVar31 = pGVar31->got_next_" identifier = (field_expression "pGVar31->got_next_" identifier -> field_identifier)) ;) (if_statement "if (pGVar31 == (Got_offset_list *)0x0) goto LAB_0009cfed;" if (parenthesized_expression "(pGVar31 == (Got_offset_list *)0x0)" ( (binary_expression "pGVar31 == (Got_offset_list *)0x0" identifier == (cast_expression "(Got_offset_list *)0x0" ( (type_descriptor "Got_offset_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009cfed;" goto statement_identifier ;)) })) (if_statement "if (pGVar31->got_offset_ == 0xffffffff) {\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }" if (parenthesized_expression "(pGVar31->got_offset_ == 0xffffffff)" ( (binary_expression "pGVar31->got_offset_ == 0xffffffff" (field_expression "pGVar31->got_offset_" identifier -> field_identifier) == number_literal) )) (compound_statement "{\nLAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;\n                puVar33[-3] = 0xd26;\n                puVar33[-4] = (int)local_94 + -0x196252;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d00e;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }" { (labeled_statement "LAB_0009cfed:\n                puVar33[-2] = local_94 + -0x650e7;" statement_identifier : (expression_statement "puVar33[-2] = local_94 + -0x650e7;" (assignment_expression "puVar33[-2] = local_94 + -0x650e7" (subscript_expression "puVar33[-2]" identifier [ number_literal ]) = (binary_expression "local_94 + -0x650e7" identifier + number_literal)) ;)) (expression_statement "puVar33[-3] = 0xd26;" (assignment_expression "puVar33[-3] = 0xd26" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-4] = (int)local_94 + -0x196252;" (assignment_expression "puVar33[-4] = (int)local_94 + -0x196252" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_94 + -0x196252" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar33[-5] = &UNK_0009d00e;" (assignment_expression "puVar33[-5] = &UNK_0009d00e" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = (pointer_expression "&UNK_0009d00e" & identifier)) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" (call_expression "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" identifier (argument_list "((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" ( (cast_expression "(char *)puVar33[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-4]" identifier [ number_literal ])) , (subscript_expression "puVar33[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar33[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-2]" identifier [ number_literal ])) ))) ;)) })) (while_statement "while (pGVar17->got_type_ != 0) {\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }" while (parenthesized_expression "(pGVar17->got_type_ != 0)" ( (binary_expression "pGVar17->got_type_ != 0" (field_expression "pGVar17->got_type_" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                pGVar17 = pGVar17->got_next_;\n                if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;\n              }" { (expression_statement "pGVar17 = pGVar17->got_next_;" (assignment_expression "pGVar17 = pGVar17->got_next_" identifier = (field_expression "pGVar17->got_next_" identifier -> field_identifier)) ;) (if_statement "if (pGVar17 == (Got_offset_list *)0x0) goto LAB_0009d069;" if (parenthesized_expression "(pGVar17 == (Got_offset_list *)0x0)" ( (binary_expression "pGVar17 == (Got_offset_list *)0x0" identifier == (cast_expression "(Got_offset_list *)0x0" ( (type_descriptor "Got_offset_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009d069;" goto statement_identifier ;)) })) (if_statement "if (pGVar17->got_offset_ == 0xffffffff) {\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }" if (parenthesized_expression "(pGVar17->got_offset_ == 0xffffffff)" ( (binary_expression "pGVar17->got_offset_ == 0xffffffff" (field_expression "pGVar17->got_offset_" identifier -> field_identifier) == number_literal) )) (compound_statement "{\nLAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;\n                puVar33[-3] = 0x1b7;\n                puVar33[-4] = local_94 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                puVar33[-5] = &UNK_0009d08a;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }" { (labeled_statement "LAB_0009d069:\n                puVar33[-2] = local_94 + -0x64f5d;" statement_identifier : (expression_statement "puVar33[-2] = local_94 + -0x64f5d;" (assignment_expression "puVar33[-2] = local_94 + -0x64f5d" (subscript_expression "puVar33[-2]" identifier [ number_literal ]) = (binary_expression "local_94 + -0x64f5d" identifier + number_literal)) ;)) (expression_statement "puVar33[-3] = 0x1b7;" (assignment_expression "puVar33[-3] = 0x1b7" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-4] = local_94 + -0x67308;" (assignment_expression "puVar33[-4] = local_94 + -0x67308" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "local_94 + -0x67308" identifier + number_literal)) ;) comment (expression_statement "puVar33[-5] = &UNK_0009d08a;" (assignment_expression "puVar33[-5] = &UNK_0009d08a" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = (pointer_expression "&UNK_0009d08a" & identifier)) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" (call_expression "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" identifier (argument_list "((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" ( (cast_expression "(char *)puVar33[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-4]" identifier [ number_literal ])) , (subscript_expression "puVar33[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar33[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-2]" identifier [ number_literal ])) ))) ;)) })) }))) }) (ERROR "LAB_0009d200:\n          local_c8 = local_c4 + address;\n          if (local_b8 < 0xfc" identifier : identifier = identifier + identifier ; if ( identifier < number_literal) )) (ERROR "{" {) comment comment (argument_list "(*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))" ( (pointer_expression "*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94)" * (cast_expression "(code *)(local_94[local_b8 - 0x656fe] + (int)local_94)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94[local_b8 - 0x656fe] + (int)local_94)" ( (binary_expression "local_94[local_b8 - 0x656fe] + (int)local_94" (subscript_expression "local_94[local_b8 - 0x656fe]" identifier [ (binary_expression "local_b8 - 0x656fe" identifier - number_literal) ]) + (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ))) (argument_list "()" ( ))) ))) ;) (return_statement "return;" return ;) }))) (expression_statement "puVar33[-4] = local_94 + -0x672b6;" (assignment_expression "puVar33[-4] = local_94 + -0x672b6" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "local_94 + -0x672b6" identifier + number_literal)) ;) (expression_statement "puVar33[-5] = 0x9e3bf;" (assignment_expression "puVar33[-5] = 0x9e3bf" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar26 = gettext();" (assignment_expression "uVar26 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar16 = (rela.p_)->r_offset;" (assignment_expression "uVar16 = (rela.p_)->r_offset" identifier = (field_expression "(rela.p_)->r_offset" (parenthesized_expression "(rela.p_)" ( (field_expression "rela.p_" identifier . field_identifier) )) -> field_identifier)) ;) (expression_statement "puVar33[-3] = local_b8;" (assignment_expression "puVar33[-3] = local_b8" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-4] = uVar26;" (assignment_expression "puVar33[-4] = uVar26" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-5] = 0;" (assignment_expression "puVar33[-5] = 0" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-6] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                        uVar16 << 0x18;" (assignment_expression "puVar33[-6] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                        uVar16 << 0x18" (subscript_expression "puVar33[-6]" identifier [ number_literal ]) = (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                        uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar33[-7] = local_b4;" (assignment_expression "puVar33[-7] = local_b4" (subscript_expression "puVar33[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-8] = relinfo;" (assignment_expression "puVar33[-8] = relinfo" (subscript_expression "puVar33[-8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-9] = 0x9e3e3;" (assignment_expression "puVar33[-9] = 0x9e3e3" (subscript_expression "puVar33[-9]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]);" (comma_expression "gold_error_at_location<32,_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3])" (binary_expression "gold_error_at_location<32" identifier < number_literal) , (binary_expression "_true>\n                    ((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3])" identifier > (parenthesized_expression "((gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3])" ( (comma_expression "(gold *)puVar33[-8],(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3])" (cast_expression "(gold *)puVar33[-8]" ( (type_descriptor "gold *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-8]" identifier [ number_literal ])) , (parenthesized_expression "(Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3])" ( (comma_expression "Relocate_info<32,_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]" (binary_expression "Relocate_info<32" identifier < number_literal) , (comma_expression "_true> *)puVar33[-7],puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]" (binary_expression "_true> *)puVar33[-7]" identifier > (pointer_expression "*)puVar33[-7]" * (ERROR ")" )) (subscript_expression "puVar33[-7]" identifier [ number_literal ]))) , (comma_expression "puVar33[-6],\n                     *(off_t *)(puVar33 + -5),(char *)puVar33[-3]" (subscript_expression "puVar33[-6]" identifier [ number_literal ]) , (comma_expression "*(off_t *)(puVar33 + -5),(char *)puVar33[-3]" (pointer_expression "*(off_t *)(puVar33 + -5)" * (cast_expression "(off_t *)(puVar33 + -5)" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + -5)" ( (binary_expression "puVar33 + -5" identifier + number_literal) )))) , (cast_expression "(char *)puVar33[-3]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-3]" identifier [ number_literal ])))))) ))) )))) ;)) (expression_statement "puVar33[-4] = local_b0;" (assignment_expression "puVar33[-4] = local_b0" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-5] = 0x9d286;" (assignment_expression "puVar33[-5] = 0x9d286" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);" statement_identifier (ERROR "::Symbol_value<32>:" : : (binary_expression "Symbol_value<32" identifier < number_literal) > :) : (expression_statement "~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);" (unary_expression "~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3])" ~ (call_expression "Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3])" identifier (argument_list "((Symbol_value<32> *)puVar33[-4],puVar33[-3])" ( (parenthesized_expression "(Symbol_value<32> *)puVar33[-4],puVar33[-3])" ( (comma_expression "Symbol_value<32> *)puVar33[-4],puVar33[-3]" (binary_expression "Symbol_value<32> *)puVar33[-4]" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)puVar33[-4]" * (ERROR ")" )) (subscript_expression "puVar33[-4]" identifier [ number_literal ]))) , (subscript_expression "puVar33[-3]" identifier [ number_literal ])) )) )))) ;)) (if_statement "if (local_90 != (Symbol_table *)0x0) {\n            bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n            bVar14 = bVar30 & 7;\n            pSVar32 = local_90;\n            if ((bVar30 & 7) == 0) {\n              if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n                 (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n                pSVar29 = *(Symbol_table **)&local_90->offset_;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 != pSVar32) {\n                  puVar33[-4] = pSVar29;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d736;\n                  iVar20 = (*(code *)pSVar3)();\n                  if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }\n                  goto LAB_0009d970;\n                }\nLAB_0009d2df:\n                bVar30 = bVar30 & 7;\n                bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                bVar14 = bVar28 & 3;\n                if ((bVar28 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }\nLAB_0009d312:\n                if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }\n                goto LAB_0009d380;\n              }\nLAB_0009d63d:\n              bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              if ((bVar28 >> 4 == 2) ||\n                 (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)) {\nLAB_0009d970:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d943:\n                if (bVar14 == 0) goto LAB_0009d380;\n                bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                pSVar29 = (Symbol_table *)(uint)bVar30;\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                bVar30 = bVar30 & 7;\n                if (bVar30 != 0) goto LAB_0009d6cc;\n                goto LAB_0009d2fb;\n              }\n              pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-1] = 0;\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f447;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (p_Var2[0x49b1] != (_func_int_varargs)0x0) goto LAB_0009d970;\n              if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) < '\0') {\n                if (bVar14 != 0) goto LAB_0009d6b0;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\nLAB_0009d900:\n                pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 == pSVar32) goto LAB_0009d2df;\n                puVar33[-4] = pSVar29;\n                puVar33[-5] = 0x9d91c;\n                iVar20 = (*(code *)pSVar3)();\n                pSVar32 = local_e0;\n                if (iVar20 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                goto LAB_0009d943;\n              }\nLAB_0009d779:\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-2] = local_94 + -0x64fb7;\n                puVar33[-3] = 0x69;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f336;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              iVar20 = *(int *)p_Var2;\n              puVar33[-3] = local_90;\n              puVar33[-4] = p_Var2;\n              pcVar4 = *(code **)(iVar20 + 0x1c);\n              puVar33[-5] = 0x9d795;\n              cVar15 = (*pcVar4)();\n              if (cVar15 != '\0') goto LAB_0009d930;\n              pSVar32 = (Symbol_table *)\n                        ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (pSVar32 == (Symbol_table *)0x0) {\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f398;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              pbVar36 = (byte *)(pSVar32 + 0x2e)[1].output_count_;\n              bVar13 = false;\n              bVar40 = pbVar36 == (byte *)0x0;\n              if (bVar40) {\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d85a:\n                if ((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))\n                goto LAB_0009d874;\n                goto LAB_0009d943;\n              }\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1fa6);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar13 = *pbVar35 < *pbVar37;\n                bVar40 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar13 = (!bVar13 && !bVar40) == bVar13;\n              if (bVar13) goto LAB_0009d930;\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1f9b);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar35 < *pbVar37;\n                bVar13 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x17;\n                pbVar35 = pbVar36;\n                ppuVar38 = local_94 + -0x687e4;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar35 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar35 == *(byte *)ppuVar38;\n                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if ((!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)) {\n                  bVar40 = false;\n                  iVar20 = 0x16;\n                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;\n                }\n                goto LAB_0009d943;\n              }\nLAB_0009d874:\n              puVar33[-4] = (int)local_c4 >> 0x1f;\n              puVar33[-5] = local_c4;\n              puVar33[-6] = local_b4;\n              puVar33[-7] = relinfo;\n              puVar33[-8] = local_90;\n              puVar33[-9] = 0x9d89a;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            else {\n              if (bVar14 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n              bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              bVar14 = bVar28 & 3;\n              if ((bVar28 & 3) != 0) {\n                bVar30 = bVar30 & 7;\nLAB_0009d6cc:\n                if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }\n              }\nLAB_0009d380:\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            if ((bVar30 & 4) != 0) {\n              puVar33[-3] = (int)local_c4 >> 0x1f;\n              puVar33[-4] = local_c4;\n              puVar33[-5] = local_b4;\n              pSVar29 = relinfo->symtab;\n              puVar33[-6] = relinfo;\n              puVar33[-7] = local_90;\n              local_90 = pSVar29;\n              puVar33[-8] = &pSVar29->warnings_;\n              puVar33[-9] = 0x9d8e4;\n              gold::Warnings::issue_warning<32,_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n            }\n          }" if (parenthesized_expression "(local_90 != (Symbol_table *)0x0)" ( (binary_expression "local_90 != (Symbol_table *)0x0" identifier != (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n            bVar14 = bVar30 & 7;\n            pSVar32 = local_90;\n            if ((bVar30 & 7) == 0) {\n              if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n                 (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n                pSVar29 = *(Symbol_table **)&local_90->offset_;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 != pSVar32) {\n                  puVar33[-4] = pSVar29;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d736;\n                  iVar20 = (*(code *)pSVar3)();\n                  if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }\n                  goto LAB_0009d970;\n                }\nLAB_0009d2df:\n                bVar30 = bVar30 & 7;\n                bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                bVar14 = bVar28 & 3;\n                if ((bVar28 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }\nLAB_0009d312:\n                if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }\n                goto LAB_0009d380;\n              }\nLAB_0009d63d:\n              bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              if ((bVar28 >> 4 == 2) ||\n                 (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)) {\nLAB_0009d970:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d943:\n                if (bVar14 == 0) goto LAB_0009d380;\n                bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                pSVar29 = (Symbol_table *)(uint)bVar30;\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                bVar30 = bVar30 & 7;\n                if (bVar30 != 0) goto LAB_0009d6cc;\n                goto LAB_0009d2fb;\n              }\n              pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-1] = 0;\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f447;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (p_Var2[0x49b1] != (_func_int_varargs)0x0) goto LAB_0009d970;\n              if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) < '\0') {\n                if (bVar14 != 0) goto LAB_0009d6b0;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\nLAB_0009d900:\n                pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 == pSVar32) goto LAB_0009d2df;\n                puVar33[-4] = pSVar29;\n                puVar33[-5] = 0x9d91c;\n                iVar20 = (*(code *)pSVar3)();\n                pSVar32 = local_e0;\n                if (iVar20 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                goto LAB_0009d943;\n              }\nLAB_0009d779:\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-2] = local_94 + -0x64fb7;\n                puVar33[-3] = 0x69;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f336;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              iVar20 = *(int *)p_Var2;\n              puVar33[-3] = local_90;\n              puVar33[-4] = p_Var2;\n              pcVar4 = *(code **)(iVar20 + 0x1c);\n              puVar33[-5] = 0x9d795;\n              cVar15 = (*pcVar4)();\n              if (cVar15 != '\0') goto LAB_0009d930;\n              pSVar32 = (Symbol_table *)\n                        ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (pSVar32 == (Symbol_table *)0x0) {\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f398;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              pbVar36 = (byte *)(pSVar32 + 0x2e)[1].output_count_;\n              bVar13 = false;\n              bVar40 = pbVar36 == (byte *)0x0;\n              if (bVar40) {\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d85a:\n                if ((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))\n                goto LAB_0009d874;\n                goto LAB_0009d943;\n              }\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1fa6);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar13 = *pbVar35 < *pbVar37;\n                bVar40 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar13 = (!bVar13 && !bVar40) == bVar13;\n              if (bVar13) goto LAB_0009d930;\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1f9b);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar35 < *pbVar37;\n                bVar13 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x17;\n                pbVar35 = pbVar36;\n                ppuVar38 = local_94 + -0x687e4;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar35 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar35 == *(byte *)ppuVar38;\n                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if ((!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)) {\n                  bVar40 = false;\n                  iVar20 = 0x16;\n                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;\n                }\n                goto LAB_0009d943;\n              }\nLAB_0009d874:\n              puVar33[-4] = (int)local_c4 >> 0x1f;\n              puVar33[-5] = local_c4;\n              puVar33[-6] = local_b4;\n              puVar33[-7] = relinfo;\n              puVar33[-8] = local_90;\n              puVar33[-9] = 0x9d89a;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            else {\n              if (bVar14 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n              bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              bVar14 = bVar28 & 3;\n              if ((bVar28 & 3) != 0) {\n                bVar30 = bVar30 & 7;\nLAB_0009d6cc:\n                if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }\n              }\nLAB_0009d380:\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            if ((bVar30 & 4) != 0) {\n              puVar33[-3] = (int)local_c4 >> 0x1f;\n              puVar33[-4] = local_c4;\n              puVar33[-5] = local_b4;\n              pSVar29 = relinfo->symtab;\n              puVar33[-6] = relinfo;\n              puVar33[-7] = local_90;\n              local_90 = pSVar29;\n              puVar33[-8] = &pSVar29->warnings_;\n              puVar33[-9] = 0x9d8e4;\n              gold::Warnings::issue_warning<32,_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n            }\n          }" { (expression_statement "bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);" (assignment_expression "bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2)" * (cast_expression "(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_90->table_)._M_h._M_bucket_count + 2)" ( (binary_expression "(int)&(local_90->table_)._M_h._M_bucket_count + 2" (cast_expression "(int)&(local_90->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_90->table_)._M_h._M_bucket_count" & (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "bVar14 = bVar30 & 7;" (assignment_expression "bVar14 = bVar30 & 7" identifier = (binary_expression "bVar30 & 7" identifier & number_literal)) ;) (expression_statement "pSVar32 = local_90;" (assignment_expression "pSVar32 = local_90" identifier = identifier) ;) (if_statement "if ((bVar30 & 7) == 0) {\n              if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n                 (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n                pSVar29 = *(Symbol_table **)&local_90->offset_;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 != pSVar32) {\n                  puVar33[-4] = pSVar29;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d736;\n                  iVar20 = (*(code *)pSVar3)();\n                  if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }\n                  goto LAB_0009d970;\n                }\nLAB_0009d2df:\n                bVar30 = bVar30 & 7;\n                bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                bVar14 = bVar28 & 3;\n                if ((bVar28 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }\nLAB_0009d312:\n                if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }\n                goto LAB_0009d380;\n              }\nLAB_0009d63d:\n              bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              if ((bVar28 >> 4 == 2) ||\n                 (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)) {\nLAB_0009d970:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d943:\n                if (bVar14 == 0) goto LAB_0009d380;\n                bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                pSVar29 = (Symbol_table *)(uint)bVar30;\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                bVar30 = bVar30 & 7;\n                if (bVar30 != 0) goto LAB_0009d6cc;\n                goto LAB_0009d2fb;\n              }\n              pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-1] = 0;\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f447;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (p_Var2[0x49b1] != (_func_int_varargs)0x0) goto LAB_0009d970;\n              if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) < '\0') {\n                if (bVar14 != 0) goto LAB_0009d6b0;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\nLAB_0009d900:\n                pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 == pSVar32) goto LAB_0009d2df;\n                puVar33[-4] = pSVar29;\n                puVar33[-5] = 0x9d91c;\n                iVar20 = (*(code *)pSVar3)();\n                pSVar32 = local_e0;\n                if (iVar20 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                goto LAB_0009d943;\n              }\nLAB_0009d779:\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-2] = local_94 + -0x64fb7;\n                puVar33[-3] = 0x69;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f336;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              iVar20 = *(int *)p_Var2;\n              puVar33[-3] = local_90;\n              puVar33[-4] = p_Var2;\n              pcVar4 = *(code **)(iVar20 + 0x1c);\n              puVar33[-5] = 0x9d795;\n              cVar15 = (*pcVar4)();\n              if (cVar15 != '\0') goto LAB_0009d930;\n              pSVar32 = (Symbol_table *)\n                        ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (pSVar32 == (Symbol_table *)0x0) {\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f398;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              pbVar36 = (byte *)(pSVar32 + 0x2e)[1].output_count_;\n              bVar13 = false;\n              bVar40 = pbVar36 == (byte *)0x0;\n              if (bVar40) {\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d85a:\n                if ((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))\n                goto LAB_0009d874;\n                goto LAB_0009d943;\n              }\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1fa6);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar13 = *pbVar35 < *pbVar37;\n                bVar40 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar13 = (!bVar13 && !bVar40) == bVar13;\n              if (bVar13) goto LAB_0009d930;\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1f9b);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar35 < *pbVar37;\n                bVar13 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x17;\n                pbVar35 = pbVar36;\n                ppuVar38 = local_94 + -0x687e4;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar35 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar35 == *(byte *)ppuVar38;\n                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if ((!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)) {\n                  bVar40 = false;\n                  iVar20 = 0x16;\n                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;\n                }\n                goto LAB_0009d943;\n              }\nLAB_0009d874:\n              puVar33[-4] = (int)local_c4 >> 0x1f;\n              puVar33[-5] = local_c4;\n              puVar33[-6] = local_b4;\n              puVar33[-7] = relinfo;\n              puVar33[-8] = local_90;\n              puVar33[-9] = 0x9d89a;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }\n            else {\n              if (bVar14 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n              bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              bVar14 = bVar28 & 3;\n              if ((bVar28 & 3) != 0) {\n                bVar30 = bVar30 & 7;\nLAB_0009d6cc:\n                if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }\n              }\nLAB_0009d380:\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }" if (parenthesized_expression "((bVar30 & 7) == 0)" ( (binary_expression "(bVar30 & 7) == 0" (parenthesized_expression "(bVar30 & 7)" ( (binary_expression "bVar30 & 7" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n                 (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n                pSVar29 = *(Symbol_table **)&local_90->offset_;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 != pSVar32) {\n                  puVar33[-4] = pSVar29;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d736;\n                  iVar20 = (*(code *)pSVar3)();\n                  if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }\n                  goto LAB_0009d970;\n                }\nLAB_0009d2df:\n                bVar30 = bVar30 & 7;\n                bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                bVar14 = bVar28 & 3;\n                if ((bVar28 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }\nLAB_0009d312:\n                if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }\n                goto LAB_0009d380;\n              }\nLAB_0009d63d:\n              bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              if ((bVar28 >> 4 == 2) ||\n                 (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)) {\nLAB_0009d970:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d943:\n                if (bVar14 == 0) goto LAB_0009d380;\n                bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                pSVar29 = (Symbol_table *)(uint)bVar30;\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                bVar30 = bVar30 & 7;\n                if (bVar30 != 0) goto LAB_0009d6cc;\n                goto LAB_0009d2fb;\n              }\n              pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-1] = 0;\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f447;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              if (p_Var2[0x49b1] != (_func_int_varargs)0x0) goto LAB_0009d970;\n              if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) < '\0') {\n                if (bVar14 != 0) goto LAB_0009d6b0;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\nLAB_0009d900:\n                pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 == pSVar32) goto LAB_0009d2df;\n                puVar33[-4] = pSVar29;\n                puVar33[-5] = 0x9d91c;\n                iVar20 = (*(code *)pSVar3)();\n                pSVar32 = local_e0;\n                if (iVar20 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                goto LAB_0009d943;\n              }\nLAB_0009d779:\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3];\n              if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-2] = local_94 + -0x64fb7;\n                puVar33[-3] = 0x69;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f336;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              iVar20 = *(int *)p_Var2;\n              puVar33[-3] = local_90;\n              puVar33[-4] = p_Var2;\n              pcVar4 = *(code **)(iVar20 + 0x1c);\n              puVar33[-5] = 0x9d795;\n              cVar15 = (*pcVar4)();\n              if (cVar15 != '\0') goto LAB_0009d930;\n              pSVar32 = (Symbol_table *)\n                        ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];\n              if (pSVar32 == (Symbol_table *)0x0) {\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f398;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }\n              pbVar36 = (byte *)(pSVar32 + 0x2e)[1].output_count_;\n              bVar13 = false;\n              bVar40 = pbVar36 == (byte *)0x0;\n              if (bVar40) {\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d85a:\n                if ((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))\n                goto LAB_0009d874;\n                goto LAB_0009d943;\n              }\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1fa6);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar13 = *pbVar35 < *pbVar37;\n                bVar40 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar13 = (!bVar13 && !bVar40) == bVar13;\n              if (bVar13) goto LAB_0009d930;\n              iVar20 = 0xb;\n              pbVar35 = pbVar36;\n              pbVar37 = (byte *)((int)local_94 + -0x1a1f9b);\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar35 < *pbVar37;\n                bVar13 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar13);\n              bVar40 = false;\n              bVar13 = (!bVar39 && !bVar13) == bVar39;\n              if (!bVar13) {\n                iVar20 = 0x17;\n                pbVar35 = pbVar36;\n                ppuVar38 = local_94 + -0x687e4;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar35 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar35 == *(byte *)ppuVar38;\n                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if ((!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)) {\n                  bVar40 = false;\n                  iVar20 = 0x16;\n                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;\n                }\n                goto LAB_0009d943;\n              }\nLAB_0009d874:\n              puVar33[-4] = (int)local_c4 >> 0x1f;\n              puVar33[-5] = local_c4;\n              puVar33[-6] = local_b4;\n              puVar33[-7] = relinfo;\n              puVar33[-8] = local_90;\n              puVar33[-9] = 0x9d89a;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }" { (if_statement "if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n                 (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {\n                pSVar29 = *(Symbol_table **)&local_90->offset_;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 != pSVar32) {\n                  puVar33[-4] = pSVar29;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d736;\n                  iVar20 = (*(code *)pSVar3)();\n                  if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }\n                  goto LAB_0009d970;\n                }\nLAB_0009d2df:\n                bVar30 = bVar30 & 7;\n                bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                bVar14 = bVar28 & 3;\n                if ((bVar28 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }\nLAB_0009d312:\n                if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }\n                goto LAB_0009d380;\n              }" if (parenthesized_expression "((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n                 (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0))" ( (binary_expression "(((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0) ||\n                 (((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)" (parenthesized_expression "(((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0)" ( (binary_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity != 0" (field_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))->_M_allocated_capacity" (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4))" ( (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)((int)&local_90->offset_ + 4)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)" ( (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" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "((int)&local_90->offset_ + 4)" ( (binary_expression "(int)&local_90->offset_ + 4" (cast_expression "(int)&local_90->offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_90->offset_" & (field_expression "local_90->offset_" identifier -> field_identifier))) + number_literal) ))) )) -> field_identifier) != number_literal) )) || (parenthesized_expression "(((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0)" ( (binary_expression "((local_90->table_)._M_h._M_bucket_count & 0x20000000) == 0" (parenthesized_expression "((local_90->table_)._M_h._M_bucket_count & 0x20000000)" ( (binary_expression "(local_90->table_)._M_h._M_bucket_count & 0x20000000" (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                pSVar29 = *(Symbol_table **)&local_90->offset_;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 != pSVar32) {\n                  puVar33[-4] = pSVar29;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d736;\n                  iVar20 = (*(code *)pSVar3)();\n                  if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }\n                  goto LAB_0009d970;\n                }\nLAB_0009d2df:\n                bVar30 = bVar30 & 7;\n                bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                bVar14 = bVar28 & 3;\n                if ((bVar28 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }\nLAB_0009d312:\n                if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }\n                goto LAB_0009d380;\n              }" { (expression_statement "pSVar29 = *(Symbol_table **)&local_90->offset_;" (assignment_expression "pSVar29 = *(Symbol_table **)&local_90->offset_" identifier = (pointer_expression "*(Symbol_table **)&local_90->offset_" * (cast_expression "(Symbol_table **)&local_90->offset_" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_90->offset_" & (field_expression "local_90->offset_" identifier -> field_identifier))))) ;) (expression_statement "pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);" (assignment_expression "pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4)" identifier = (cast_expression "(Symbol_table *)(local_94 + -0x15e4b4)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + -0x15e4b4)" ( (binary_expression "local_94 + -0x15e4b4" identifier + number_literal) )))) ;) (expression_statement "pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];" (assignment_expression "pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5]" identifier = (cast_expression "(Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5]" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5]" (field_expression "((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data" (parenthesized_expression "((Output_data *)&pSVar29->saw_undefined_)" ( (cast_expression "(Output_data *)&pSVar29->saw_undefined_" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar29->saw_undefined_" & (field_expression "pSVar29->saw_undefined_" identifier -> field_identifier))) )) -> field_identifier) [ number_literal ]))) ;) (if_statement "if (pSVar3 != pSVar32) {\n                  puVar33[-4] = pSVar29;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d736;\n                  iVar20 = (*(code *)pSVar3)();\n                  if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }\n                  goto LAB_0009d970;\n                }" if (parenthesized_expression "(pSVar3 != pSVar32)" ( (binary_expression "pSVar3 != pSVar32" identifier != identifier) )) (compound_statement "{\n                  puVar33[-4] = pSVar29;\n                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d736;\n                  iVar20 = (*(code *)pSVar3)();\n                  if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }\n                  goto LAB_0009d970;\n                }" { (expression_statement "puVar33[-4] = pSVar29;" (assignment_expression "puVar33[-4] = pSVar29" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = identifier) ;) comment (expression_statement "puVar33[-5] = 0x9d736;" (assignment_expression "puVar33[-5] = 0x9d736" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar20 = (*(code *)pSVar3)();" (assignment_expression "iVar20 = (*(code *)pSVar3)()" identifier = (call_expression "(*(code *)pSVar3)()" (parenthesized_expression "(*(code *)pSVar3)" ( (pointer_expression "*(code *)pSVar3" * (cast_expression "(code *)pSVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar20 != 0) {\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (compound_statement "{\n                    bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar30 & 7;\n                    if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }\n                    pSVar32 = (Symbol_table *)(local_94 + 0x1f2);\n                    goto LAB_0009d779;\n                  }" { (expression_statement "bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);" (assignment_expression "bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2)" * (cast_expression "(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_90->table_)._M_h._M_bucket_count + 2)" ( (binary_expression "(int)&(local_90->table_)._M_h._M_bucket_count + 2" (cast_expression "(int)&(local_90->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_90->table_)._M_h._M_bucket_count" & (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "bVar14 = bVar30 & 7;" (assignment_expression "bVar14 = bVar30 & 7" identifier = (binary_expression "bVar30 & 7" identifier & number_literal)) ;) (if_statement "if ((bVar30 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }" if (parenthesized_expression "((bVar30 & 7) == 0)" ( (binary_expression "(bVar30 & 7) == 0" (parenthesized_expression "(bVar30 & 7)" ( (binary_expression "bVar30 & 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_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar28 < '\0') goto LAB_0009d900;\n                    }" { (if_statement "if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0)\n                      {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }\n                      else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->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_90->offset_ + 1))->shndx == 0)" ( (binary_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx == 0" (field_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))->shndx" (parenthesized_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1))" ( (cast_expression "(anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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_90->offset_ + 1)" ( (binary_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_ + 1" (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_90->offset_" & (field_expression "local_90->offset_" identifier -> field_identifier))) + number_literal) ))) )) -> field_identifier) == number_literal) )) (compound_statement "{\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;\n                      }" { (expression_statement "bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);" (assignment_expression "bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" * (cast_expression "(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_90->table_)._M_h._M_bucket_count + 3)" ( (binary_expression "(int)&(local_90->table_)._M_h._M_bucket_count + 3" (cast_expression "(int)&(local_90->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_90->table_)._M_h._M_bucket_count" & (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if ((bVar28 & 0x20) != 0) goto LAB_0009d63d;" if (parenthesized_expression "((bVar28 & 0x20) != 0)" ( (binary_expression "(bVar28 & 0x20) != 0" (parenthesized_expression "(bVar28 & 0x20)" ( (binary_expression "bVar28 & 0x20" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009d63d;" goto statement_identifier ;)) }) (else_clause "else {\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }" else (compound_statement "{\n                        bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n                      }" { (expression_statement "bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);" (assignment_expression "bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" * (cast_expression "(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_90->table_)._M_h._M_bucket_count + 3)" ( (binary_expression "(int)&(local_90->table_)._M_h._M_bucket_count + 3" (cast_expression "(int)&(local_90->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_90->table_)._M_h._M_bucket_count" & (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) }))) (if_statement "if ((char)bVar28 < '\0') goto LAB_0009d900;" if (parenthesized_expression "((char)bVar28 < '\0')" ( (binary_expression "(char)bVar28 < '\0'" (cast_expression "(char)bVar28" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009d900;" goto statement_identifier ;)) }) (else_clause "else {\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }" else (compound_statement "{\n                      if (bVar14 == 4) goto LAB_0009d63d;\n                      if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;\n                    }" { (if_statement "if (bVar14 == 4) goto LAB_0009d63d;" if (parenthesized_expression "(bVar14 == 4)" ( (binary_expression "bVar14 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0009d63d;" goto statement_identifier ;)) (if_statement "if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0009d6b0;" if (parenthesized_expression "((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0')" ( (binary_expression "(char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) <\n                          '\0'" (cast_expression "(char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" * (cast_expression "(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_90->table_)._M_h._M_bucket_count + 3)" ( (binary_expression "(int)&(local_90->table_)._M_h._M_bucket_count + 3" (cast_expression "(int)&(local_90->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_90->table_)._M_h._M_bucket_count" & (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009d6b0;" goto statement_identifier ;)) }))) (expression_statement "pSVar32 = (Symbol_table *)(local_94 + 0x1f2);" (assignment_expression "pSVar32 = (Symbol_table *)(local_94 + 0x1f2)" identifier = (cast_expression "(Symbol_table *)(local_94 + 0x1f2)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + 0x1f2)" ( (binary_expression "local_94 + 0x1f2" identifier + number_literal) )))) ;) (goto_statement "goto LAB_0009d779;" goto statement_identifier ;) })) (goto_statement "goto LAB_0009d970;" goto statement_identifier ;) })) (labeled_statement "LAB_0009d2df:\n                bVar30 = bVar30 & 7;" statement_identifier : (expression_statement "bVar30 = bVar30 & 7;" (assignment_expression "bVar30 = bVar30 & 7" identifier = (binary_expression "bVar30 & 7" identifier & number_literal)) ;)) (expression_statement "bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);" (assignment_expression "bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1)" * (cast_expression "(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_90->table_)._M_h._M_bucket_count + 1)" ( (binary_expression "(int)&(local_90->table_)._M_h._M_bucket_count + 1" (cast_expression "(int)&(local_90->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_90->table_)._M_h._M_bucket_count" & (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);" (assignment_expression "local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28)" identifier = (parenthesized_expression "(Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28)" ( (binary_expression "Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28)" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)CONCAT31(local_9c._1_3_,bVar28)" * (ERROR ")" )) (call_expression "CONCAT31(local_9c._1_3_,bVar28)" identifier (argument_list "(local_9c._1_3_,bVar28)" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , identifier ))))) ))) ;) (expression_statement "bVar14 = bVar28 & 3;" (assignment_expression "bVar14 = bVar28 & 3" identifier = (binary_expression "bVar28 & 3" identifier & number_literal)) ;) (if_statement "if ((bVar28 & 3) == 0) goto LAB_0009d380;" if (parenthesized_expression "((bVar28 & 3) == 0)" ( (binary_expression "(bVar28 & 3) == 0" (parenthesized_expression "(bVar28 & 3)" ( (binary_expression "bVar28 & 3" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009d380;" goto statement_identifier ;)) (labeled_statement "LAB_0009d2fb:\n                if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }" statement_identifier : (if_statement "if ((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }" if (parenthesized_expression "((((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0))" ( (binary_expression "(((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0) &&\n                   (((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)" (parenthesized_expression "(((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0)" ( (binary_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity == 0" (field_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))->_M_allocated_capacity" (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4))" ( (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)((int)&local_90->offset_ + 4)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                       *)" ( (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" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "((int)&local_90->offset_ + 4)" ( (binary_expression "(int)&local_90->offset_ + 4" (cast_expression "(int)&local_90->offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_90->offset_" & (field_expression "local_90->offset_" identifier -> field_identifier))) + number_literal) ))) )) -> field_identifier) == number_literal) )) && (parenthesized_expression "(((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0)" ( (binary_expression "((local_90->table_)._M_h._M_bucket_count & 0x20000000) != 0" (parenthesized_expression "((local_90->table_)._M_h._M_bucket_count & 0x20000000)" ( (binary_expression "(local_90->table_)._M_h._M_bucket_count & 0x20000000" (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                  bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n                  bVar28 = bVar28 >> 4;\n                  pSVar29 = (Symbol_table *)(uint)bVar28;\n                  if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;\n                }" { (expression_statement "bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;" (assignment_expression "bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count" identifier = (field_expression "(byte)(local_90->table_)._M_h._M_bucket_count" (field_expression "(byte)(local_90->table_)._M_h" (call_expression "(byte)(local_90->table_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (expression_statement "local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);" (assignment_expression "local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28)" identifier = (parenthesized_expression "(Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28)" ( (binary_expression "Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28)" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)CONCAT31(local_9c._1_3_,bVar28)" * (ERROR ")" )) (call_expression "CONCAT31(local_9c._1_3_,bVar28)" identifier (argument_list "(local_9c._1_3_,bVar28)" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , identifier ))))) ))) ;) (expression_statement "bVar28 = bVar28 >> 4;" (assignment_expression "bVar28 = bVar28 >> 4" identifier = (binary_expression "bVar28 >> 4" identifier >> number_literal)) ;) (expression_statement "pSVar29 = (Symbol_table *)(uint)bVar28;" (assignment_expression "pSVar29 = (Symbol_table *)(uint)bVar28" identifier = (cast_expression "(Symbol_table *)(uint)bVar28" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar28" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))\n                  goto LAB_0009d701;" if (parenthesized_expression "((bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0))" ( (binary_expression "(bVar28 != 2) &&\n                     (pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0)" (parenthesized_expression "(bVar28 != 2)" ( (binary_expression "bVar28 != 2" identifier != number_literal) )) && (parenthesized_expression "(pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0)" ( (comma_expression "pSVar29 = local_90,\n                     ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0" (assignment_expression "pSVar29 = local_90" identifier = identifier) , (binary_expression "((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) == 0" (parenthesized_expression "((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2)" ( (binary_expression "(uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2" (field_expression "(uint)(local_90->table_)._M_h._M_before_begin._M_nxt" (field_expression "(uint)(local_90->table_)._M_h._M_before_begin" (field_expression "(uint)(local_90->table_)._M_h" (call_expression "(uint)(local_90->table_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_0009d701;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0009d312:\n                if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }" statement_identifier : (if_statement "if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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) {\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }" if (parenthesized_expression "(((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->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_90->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_90->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_90->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_90->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_90->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_90->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_90->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_90->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_90->offset_)->output_segment->\n                           output_lists_[3].\n                           super__Vector_base<gold" (field_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->output_segment->\n                           output_lists_[3].\n                           super__Vector_base" (subscript_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->output_segment->\n                           output_lists_[3]" (field_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->output_segment->\n                           output_lists_" (field_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->output_segment" (call_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)" ( (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_90->offset_" & (field_expression "local_90->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) )) (compound_statement "{\nLAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }\n                  pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;\n                  puVar33[-4] = local_94 + -0x67173;\n                  puVar33[-5] = 0x9d368;\n                  uVar19 = gettext();\n                  puVar33[-2] = pp_Var1;\n                  puVar33[-3] = uVar26;\n                  puVar33[-4] = uVar19;\n                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */\n                  puVar33[-5] = 0x9d379;\n                  gold::gold_error((char *)puVar33[-4]);\n                }" { (labeled_statement "LAB_0009d321:\n                  if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }" statement_identifier : (if_statement "if (bVar14 == 2) {\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }\n                  else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }" if (parenthesized_expression "(bVar14 == 2)" ( (binary_expression "bVar14 == 2" identifier == number_literal) )) (compound_statement "{\n                    puVar33[-4] = (int)local_94 + -0x19ca5d;\n                    puVar33[-5] = 0x9e2b5;\n                    uVar26 = gettext();\n                  }" { (expression_statement "puVar33[-4] = (int)local_94 + -0x19ca5d;" (assignment_expression "puVar33[-4] = (int)local_94 + -0x19ca5d" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_94 + -0x19ca5d" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "puVar33[-5] = 0x9e2b5;" (assignment_expression "puVar33[-5] = 0x9e2b5" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar26 = gettext();" (assignment_expression "uVar26 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }" else (if_statement "if (bVar14 < 3) {\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }\n                  else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }" if (parenthesized_expression "(bVar14 < 3)" ( (binary_expression "bVar14 < 3" identifier < number_literal) )) (compound_statement "{\n                    if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }\n                    puVar33[-4] = (int)local_94 + -0x19ca66;\n                    puVar33[-5] = 0x9d99d;\n                    uVar26 = gettext();\n                  }" { (if_statement "if (bVar14 != 1) {\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }" if (parenthesized_expression "(bVar14 != 1)" ( (binary_expression "bVar14 != 1" identifier != number_literal) )) (compound_statement "{\nLAB_0009f3a6:\n                      puVar33[-1] = pSVar29;\n                      puVar33[-2] = local_94 + -0x64fbc;\n                      puVar33[-3] = 0xa4;\n                      puVar33[-4] = (int)local_94 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */\n                      puVar33[-5] = 0x9f3c5;\n                      gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;\n                    }" { (labeled_statement "LAB_0009f3a6:\n                      puVar33[-1] = pSVar29;" statement_identifier : (expression_statement "puVar33[-1] = pSVar29;" (assignment_expression "puVar33[-1] = pSVar29" (subscript_expression "puVar33[-1]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "puVar33[-2] = local_94 + -0x64fbc;" (assignment_expression "puVar33[-2] = local_94 + -0x64fbc" (subscript_expression "puVar33[-2]" identifier [ number_literal ]) = (binary_expression "local_94 + -0x64fbc" identifier + number_literal)) ;) (expression_statement "puVar33[-3] = 0xa4;" (assignment_expression "puVar33[-3] = 0xa4" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-4] = (int)local_94 + -0x19cb27;" (assignment_expression "puVar33[-4] = (int)local_94 + -0x19cb27" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_94 + -0x19cb27" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "puVar33[-5] = 0x9f3c5;" (assignment_expression "puVar33[-5] = 0x9f3c5" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])\n                      ;" (call_expression "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" identifier (argument_list "((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" ( (cast_expression "(char *)puVar33[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-4]" identifier [ number_literal ])) , (subscript_expression "puVar33[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar33[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-2]" identifier [ number_literal ])) ))) ;)) })) (expression_statement "puVar33[-4] = (int)local_94 + -0x19ca66;" (assignment_expression "puVar33[-4] = (int)local_94 + -0x19ca66" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_94 + -0x19ca66" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "puVar33[-5] = 0x9d99d;" (assignment_expression "puVar33[-5] = 0x9d99d" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar26 = gettext();" (assignment_expression "uVar26 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }" else (compound_statement "{\n                    puVar33[-4] = (int)local_94 + -0x19ca56;\n                    puVar33[-5] = 0x9d344;\n                    uVar26 = gettext();\n                  }" { (expression_statement "puVar33[-4] = (int)local_94 + -0x19ca56;" (assignment_expression "puVar33[-4] = (int)local_94 + -0x19ca56" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_94 + -0x19ca56" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "puVar33[-5] = 0x9d344;" (assignment_expression "puVar33[-5] = 0x9d344" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar26 = gettext();" (assignment_expression "uVar26 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) })))))) (expression_statement "pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data;" (assignment_expression "pp_Var1 = ((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data" identifier = (field_expression "((Output_data *)&local_90->saw_undefined_)->_vptr_Output_data" (parenthesized_expression "((Output_data *)&local_90->saw_undefined_)" ( (cast_expression "(Output_data *)&local_90->saw_undefined_" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_90->saw_undefined_" & (field_expression "local_90->saw_undefined_" identifier -> field_identifier))) )) -> field_identifier)) ;) (expression_statement "puVar33[-4] = local_94 + -0x67173;" (assignment_expression "puVar33[-4] = local_94 + -0x67173" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "local_94 + -0x67173" identifier + number_literal)) ;) (expression_statement "puVar33[-5] = 0x9d368;" (assignment_expression "puVar33[-5] = 0x9d368" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar19 = gettext();" (assignment_expression "uVar19 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar33[-2] = pp_Var1;" (assignment_expression "puVar33[-2] = pp_Var1" (subscript_expression "puVar33[-2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-3] = uVar26;" (assignment_expression "puVar33[-3] = uVar26" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-4] = uVar19;" (assignment_expression "puVar33[-4] = uVar19" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = identifier) ;) comment (expression_statement "puVar33[-5] = 0x9d379;" (assignment_expression "puVar33[-5] = 0x9d379" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::gold_error((char *)puVar33[-4]);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error((char *)puVar33[-4]);" (call_expression "gold_error((char *)puVar33[-4])" identifier (argument_list "((char *)puVar33[-4])" ( (cast_expression "(char *)puVar33[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-4]" identifier [ number_literal ])) ))) ;)) }))) (goto_statement "goto LAB_0009d380;" goto statement_identifier ;) })) (labeled_statement "LAB_0009d63d:\n              bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;" statement_identifier : (expression_statement "bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count;" (assignment_expression "bVar28 = (byte)(local_90->table_)._M_h._M_bucket_count" identifier = (field_expression "(byte)(local_90->table_)._M_h._M_bucket_count" (field_expression "(byte)(local_90->table_)._M_h" (call_expression "(byte)(local_90->table_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;)) (expression_statement "local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);" (assignment_expression "local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28)" identifier = (parenthesized_expression "(Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28)" ( (binary_expression "Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28)" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)CONCAT31(local_9c._1_3_,bVar28)" * (ERROR ")" )) (call_expression "CONCAT31(local_9c._1_3_,bVar28)" identifier (argument_list "(local_9c._1_3_,bVar28)" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , identifier ))))) ))) ;) (if_statement "if ((bVar28 >> 4 == 2) ||\n                 (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)) {\nLAB_0009d970:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d943:\n                if (bVar14 == 0) goto LAB_0009d380;\n                bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                pSVar29 = (Symbol_table *)(uint)bVar30;\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                bVar30 = bVar30 & 7;\n                if (bVar30 != 0) goto LAB_0009d6cc;\n                goto LAB_0009d2fb;\n              }" if (parenthesized_expression "((bVar28 >> 4 == 2) ||\n                 (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))" ( (binary_expression "(bVar28 >> 4 == 2) ||\n                 (((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)" (parenthesized_expression "(bVar28 >> 4 == 2)" ( (binary_expression "bVar28 >> 4 == 2" (binary_expression "bVar28 >> 4" identifier >> number_literal) == number_literal) )) || (parenthesized_expression "(((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)" ( (binary_expression "((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0" (parenthesized_expression "((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2)" ( (binary_expression "(uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2" (field_expression "(uint)(local_90->table_)._M_h._M_before_begin._M_nxt" (field_expression "(uint)(local_90->table_)._M_h._M_before_begin" (field_expression "(uint)(local_90->table_)._M_h" (call_expression "(uint)(local_90->table_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\nLAB_0009d970:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d943:\n                if (bVar14 == 0) goto LAB_0009d380;\n                bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);\n                pSVar29 = (Symbol_table *)(uint)bVar30;\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                bVar30 = bVar30 & 7;\n                if (bVar30 != 0) goto LAB_0009d6cc;\n                goto LAB_0009d2fb;\n              }" { (labeled_statement "LAB_0009d970:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);" statement_identifier : (expression_statement "bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);" (assignment_expression "bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1)" * (cast_expression "(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_90->table_)._M_h._M_bucket_count + 1)" ( (binary_expression "(int)&(local_90->table_)._M_h._M_bucket_count + 1" (cast_expression "(int)&(local_90->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_90->table_)._M_h._M_bucket_count" & (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;)) (expression_statement "local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);" (assignment_expression "local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14)" identifier = (parenthesized_expression "(Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14)" ( (binary_expression "Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14)" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)CONCAT31(local_9c._1_3_,bVar14)" * (ERROR ")" )) (call_expression "CONCAT31(local_9c._1_3_,bVar14)" identifier (argument_list "(local_9c._1_3_,bVar14)" ( (field_expression "local_9c._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_0009d943:\n                if (bVar14 == 0) goto LAB_0009d380;" statement_identifier : (if_statement "if (bVar14 == 0) goto LAB_0009d380;" if (parenthesized_expression "(bVar14 == 0)" ( (binary_expression "bVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009d380;" goto statement_identifier ;))) (expression_statement "bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2);" (assignment_expression "bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2)" * (cast_expression "(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_90->table_)._M_h._M_bucket_count + 2)" ( (binary_expression "(int)&(local_90->table_)._M_h._M_bucket_count + 2" (cast_expression "(int)&(local_90->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_90->table_)._M_h._M_bucket_count" & (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "pSVar29 = (Symbol_table *)(uint)bVar30;" (assignment_expression "pSVar29 = (Symbol_table *)(uint)bVar30" identifier = (cast_expression "(Symbol_table *)(uint)bVar30" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);" (assignment_expression "local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30)" identifier = (parenthesized_expression "(Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30)" ( (binary_expression "Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30)" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)CONCAT31(local_9c._1_3_,bVar30)" * (ERROR ")" )) (call_expression "CONCAT31(local_9c._1_3_,bVar30)" identifier (argument_list "(local_9c._1_3_,bVar30)" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , identifier ))))) ))) ;) (expression_statement "bVar30 = bVar30 & 7;" (assignment_expression "bVar30 = bVar30 & 7" identifier = (binary_expression "bVar30 & 7" identifier & number_literal)) ;) (if_statement "if (bVar30 != 0) goto LAB_0009d6cc;" if (parenthesized_expression "(bVar30 != 0)" ( (binary_expression "bVar30 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009d6cc;" goto statement_identifier ;)) (goto_statement "goto LAB_0009d2fb;" goto statement_identifier ;) })) (expression_statement "pSVar32 = (Symbol_table *)(local_94 + 0x1f2);" (assignment_expression "pSVar32 = (Symbol_table *)(local_94 + 0x1f2)" identifier = (cast_expression "(Symbol_table *)(local_94 + 0x1f2)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + 0x1f2)" ( (binary_expression "local_94 + 0x1f2" identifier + number_literal) )))) ;) (expression_statement "p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];" (assignment_expression "p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2]" identifier = (subscript_expression "((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2]" (field_expression "((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data" (parenthesized_expression "((Output_data *)&pSVar32->saw_undefined_)" ( (cast_expression "(Output_data *)&pSVar32->saw_undefined_" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar32->saw_undefined_" & (field_expression "pSVar32->saw_undefined_" identifier -> field_identifier))) )) -> field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-1] = 0;\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f447;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }" if (parenthesized_expression "(p_Var2 == (_func_int_varargs *)0x0)" ( (binary_expression "p_Var2 == (_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                puVar33[-1] = 0;\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f447;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }" { (expression_statement "puVar33[-1] = 0;" (assignment_expression "puVar33[-1] = 0" (subscript_expression "puVar33[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-2] = local_94 + -0x64ebf;" (assignment_expression "puVar33[-2] = local_94 + -0x64ebf" (subscript_expression "puVar33[-2]" identifier [ number_literal ]) = (binary_expression "local_94 + -0x64ebf" identifier + number_literal)) ;) (expression_statement "puVar33[-3] = 0x5c;" (assignment_expression "puVar33[-3] = 0x5c" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-4] = (int)local_94 + -0x1a1d93;" (assignment_expression "puVar33[-4] = (int)local_94 + -0x1a1d93" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "puVar33[-5] = 0x9f447;" (assignment_expression "puVar33[-5] = 0x9f447" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" (call_expression "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" identifier (argument_list "((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" ( (cast_expression "(char *)puVar33[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-4]" identifier [ number_literal ])) , (subscript_expression "puVar33[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar33[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-2]" identifier [ number_literal ])) ))) ;)) })) (if_statement "if (p_Var2[0x49b1] != (_func_int_varargs)0x0) goto LAB_0009d970;" if (parenthesized_expression "(p_Var2[0x49b1] != (_func_int_varargs)0x0)" ( (binary_expression "p_Var2[0x49b1] != (_func_int_varargs)0x0" (subscript_expression "p_Var2[0x49b1]" identifier [ number_literal ]) != (cast_expression "(_func_int_varargs)0x0" ( (type_descriptor "_func_int_varargs" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_0009d970;" goto statement_identifier ;)) (if_statement "if ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) < '\0') {\n                if (bVar14 != 0) goto LAB_0009d6b0;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\nLAB_0009d900:\n                pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 == pSVar32) goto LAB_0009d2df;\n                puVar33[-4] = pSVar29;\n                puVar33[-5] = 0x9d91c;\n                iVar20 = (*(code *)pSVar3)();\n                pSVar32 = local_e0;\n                if (iVar20 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                goto LAB_0009d943;\n              }" if (parenthesized_expression "((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) < '\0')" ( (binary_expression "(char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3) < '\0'" (cast_expression "(char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" * (cast_expression "(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_90->table_)._M_h._M_bucket_count + 3)" ( (binary_expression "(int)&(local_90->table_)._M_h._M_bucket_count + 3" (cast_expression "(int)&(local_90->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_90->table_)._M_h._M_bucket_count" & (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if (bVar14 != 0) goto LAB_0009d6b0;\n                pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);\nLAB_0009d900:\n                pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;\n                pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];\n                if (pSVar3 == pSVar32) goto LAB_0009d2df;\n                puVar33[-4] = pSVar29;\n                puVar33[-5] = 0x9d91c;\n                iVar20 = (*(code *)pSVar3)();\n                pSVar32 = local_e0;\n                if (iVar20 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                goto LAB_0009d943;\n              }" { (if_statement "if (bVar14 != 0) goto LAB_0009d6b0;" if (parenthesized_expression "(bVar14 != 0)" ( (binary_expression "bVar14 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009d6b0;" goto statement_identifier ;)) (expression_statement "pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4);" (assignment_expression "pSVar32 = (Symbol_table *)(local_94 + -0x15e4b4)" identifier = (cast_expression "(Symbol_table *)(local_94 + -0x15e4b4)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + -0x15e4b4)" ( (binary_expression "local_94 + -0x15e4b4" identifier + number_literal) )))) ;) (labeled_statement "LAB_0009d900:\n                pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;" statement_identifier : (expression_statement "pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object;" (assignment_expression "pSVar29 = (Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object" identifier = (cast_expression "(Symbol_table *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)->object" (parenthesized_expression "((anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_)" ( (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_90->offset_" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_90->offset_" & (field_expression "local_90->offset_" identifier -> field_identifier))) )) -> field_identifier))) ;)) (expression_statement "pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5];" (assignment_expression "pSVar3 = (Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5]" identifier = (cast_expression "(Symbol_table *)\n                         ((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5]" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data[5]" (field_expression "((Output_data *)&pSVar29->saw_undefined_)->_vptr_Output_data" (parenthesized_expression "((Output_data *)&pSVar29->saw_undefined_)" ( (cast_expression "(Output_data *)&pSVar29->saw_undefined_" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar29->saw_undefined_" & (field_expression "pSVar29->saw_undefined_" identifier -> field_identifier))) )) -> field_identifier) [ number_literal ]))) ;) (if_statement "if (pSVar3 == pSVar32) goto LAB_0009d2df;" if (parenthesized_expression "(pSVar3 == pSVar32)" ( (binary_expression "pSVar3 == pSVar32" identifier == identifier) )) (goto_statement "goto LAB_0009d2df;" goto statement_identifier ;)) (expression_statement "puVar33[-4] = pSVar29;" (assignment_expression "puVar33[-4] = pSVar29" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-5] = 0x9d91c;" (assignment_expression "puVar33[-5] = 0x9d91c" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar20 = (*(code *)pSVar3)();" (assignment_expression "iVar20 = (*(code *)pSVar3)()" identifier = (call_expression "(*(code *)pSVar3)()" (parenthesized_expression "(*(code *)pSVar3)" ( (pointer_expression "*(code *)pSVar3" * (cast_expression "(code *)pSVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "pSVar32 = local_e0;" (assignment_expression "pSVar32 = local_e0" identifier = identifier) ;) (if_statement "if (iVar20 != 0) goto LAB_0009d779;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009d779;" goto statement_identifier ;)) (labeled_statement "LAB_0009d930:\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);" statement_identifier : (expression_statement "bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);" (assignment_expression "bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1)" * (cast_expression "(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_90->table_)._M_h._M_bucket_count + 1)" ( (binary_expression "(int)&(local_90->table_)._M_h._M_bucket_count + 1" (cast_expression "(int)&(local_90->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_90->table_)._M_h._M_bucket_count" & (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;)) (expression_statement "local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);" (assignment_expression "local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14)" identifier = (parenthesized_expression "(Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14)" ( (binary_expression "Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14)" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)CONCAT31(local_9c._1_3_,bVar14)" * (ERROR ")" )) (call_expression "CONCAT31(local_9c._1_3_,bVar14)" identifier (argument_list "(local_9c._1_3_,bVar14)" ( (field_expression "local_9c._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_0009d943;" goto statement_identifier ;) })) (labeled_statement "LAB_0009d779:\n              p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3];" statement_identifier : (expression_statement "p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3];" (assignment_expression "p_Var2 = ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3]" identifier = (subscript_expression "((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[3]" (field_expression "((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data" (parenthesized_expression "((Output_data *)&pSVar32->saw_undefined_)" ( (cast_expression "(Output_data *)&pSVar32->saw_undefined_" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar32->saw_undefined_" & (field_expression "pSVar32->saw_undefined_" identifier -> field_identifier))) )) -> field_identifier) [ number_literal ])) ;)) (if_statement "if (p_Var2 == (_func_int_varargs *)0x0) {\n                puVar33[-2] = local_94 + -0x64fb7;\n                puVar33[-3] = 0x69;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f336;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }" if (parenthesized_expression "(p_Var2 == (_func_int_varargs *)0x0)" ( (binary_expression "p_Var2 == (_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                puVar33[-2] = local_94 + -0x64fb7;\n                puVar33[-3] = 0x69;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f336;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }" { (expression_statement "puVar33[-2] = local_94 + -0x64fb7;" (assignment_expression "puVar33[-2] = local_94 + -0x64fb7" (subscript_expression "puVar33[-2]" identifier [ number_literal ]) = (binary_expression "local_94 + -0x64fb7" identifier + number_literal)) ;) (expression_statement "puVar33[-3] = 0x69;" (assignment_expression "puVar33[-3] = 0x69" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-4] = (int)local_94 + -0x1a1d93;" (assignment_expression "puVar33[-4] = (int)local_94 + -0x1a1d93" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "puVar33[-5] = 0x9f336;" (assignment_expression "puVar33[-5] = 0x9f336" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" (call_expression "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" identifier (argument_list "((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" ( (cast_expression "(char *)puVar33[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-4]" identifier [ number_literal ])) , (subscript_expression "puVar33[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar33[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-2]" identifier [ number_literal ])) ))) ;)) })) (expression_statement "iVar20 = *(int *)p_Var2;" (assignment_expression "iVar20 = *(int *)p_Var2" identifier = (pointer_expression "*(int *)p_Var2" * (cast_expression "(int *)p_Var2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar33[-3] = local_90;" (assignment_expression "puVar33[-3] = local_90" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-4] = p_Var2;" (assignment_expression "puVar33[-4] = p_Var2" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar4 = *(code **)(iVar20 + 0x1c);" (assignment_expression "pcVar4 = *(code **)(iVar20 + 0x1c)" identifier = (pointer_expression "*(code **)(iVar20 + 0x1c)" * (cast_expression "(code **)(iVar20 + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar20 + 0x1c)" ( (binary_expression "iVar20 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "puVar33[-5] = 0x9d795;" (assignment_expression "puVar33[-5] = 0x9d795" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "cVar15 = (*pcVar4)();" (assignment_expression "cVar15 = (*pcVar4)()" identifier = (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (cVar15 != '\0') goto LAB_0009d930;" if (parenthesized_expression "(cVar15 != '\0')" ( (binary_expression "cVar15 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009d930;" goto statement_identifier ;)) (expression_statement "pSVar32 = (Symbol_table *)\n                        ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2];" (assignment_expression "pSVar32 = (Symbol_table *)\n                        ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2]" identifier = (cast_expression "(Symbol_table *)\n                        ((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2]" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data[2]" (field_expression "((Output_data *)&pSVar32->saw_undefined_)->_vptr_Output_data" (parenthesized_expression "((Output_data *)&pSVar32->saw_undefined_)" ( (cast_expression "(Output_data *)&pSVar32->saw_undefined_" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar32->saw_undefined_" & (field_expression "pSVar32->saw_undefined_" identifier -> field_identifier))) )) -> field_identifier) [ number_literal ]))) ;) (if_statement "if (pSVar32 == (Symbol_table *)0x0) {\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f398;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }" if (parenthesized_expression "(pSVar32 == (Symbol_table *)0x0)" ( (binary_expression "pSVar32 == (Symbol_table *)0x0" identifier == (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                puVar33[-2] = local_94 + -0x64ebf;\n                puVar33[-3] = 0x5c;\n                puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */\n                puVar33[-5] = 0x9f398;\n                gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n              }" { (expression_statement "puVar33[-2] = local_94 + -0x64ebf;" (assignment_expression "puVar33[-2] = local_94 + -0x64ebf" (subscript_expression "puVar33[-2]" identifier [ number_literal ]) = (binary_expression "local_94 + -0x64ebf" identifier + number_literal)) ;) (expression_statement "puVar33[-3] = 0x5c;" (assignment_expression "puVar33[-3] = 0x5c" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-4] = (int)local_94 + -0x1a1d93;" (assignment_expression "puVar33[-4] = (int)local_94 + -0x1a1d93" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "puVar33[-5] = 0x9f398;" (assignment_expression "puVar33[-5] = 0x9f398" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" (call_expression "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" identifier (argument_list "((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" ( (cast_expression "(char *)puVar33[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-4]" identifier [ number_literal ])) , (subscript_expression "puVar33[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar33[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-2]" identifier [ number_literal ])) ))) ;)) })) (expression_statement "pbVar36 = (byte *)(pSVar32 + 0x2e)[1].output_count_;" (assignment_expression "pbVar36 = (byte *)(pSVar32 + 0x2e)[1].output_count_" identifier = (cast_expression "(byte *)(pSVar32 + 0x2e)[1].output_count_" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pSVar32 + 0x2e)[1].output_count_" (subscript_expression "(pSVar32 + 0x2e)[1]" (parenthesized_expression "(pSVar32 + 0x2e)" ( (binary_expression "pSVar32 + 0x2e" identifier + number_literal) )) [ number_literal ]) . field_identifier))) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar40 = pbVar36 == (byte *)0x0;" (assignment_expression "bVar40 = pbVar36 == (byte *)0x0" identifier = (binary_expression "pbVar36 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar40) {\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d85a:\n                if ((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))\n                goto LAB_0009d874;\n                goto LAB_0009d943;\n              }" if (parenthesized_expression "(bVar40)" ( identifier )) (compound_statement "{\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\nLAB_0009d85a:\n                if ((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))\n                goto LAB_0009d874;\n                goto LAB_0009d943;\n              }" { (expression_statement "bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);" (assignment_expression "bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1)" * (cast_expression "(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_90->table_)._M_h._M_bucket_count + 1)" ( (binary_expression "(int)&(local_90->table_)._M_h._M_bucket_count + 1" (cast_expression "(int)&(local_90->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_90->table_)._M_h._M_bucket_count" & (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);" (assignment_expression "local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14)" identifier = (parenthesized_expression "(Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14)" ( (binary_expression "Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14)" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)CONCAT31(local_9c._1_3_,bVar14)" * (ERROR ")" )) (call_expression "CONCAT31(local_9c._1_3_,bVar14)" identifier (argument_list "(local_9c._1_3_,bVar14)" ( (field_expression "local_9c._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_0009d85a:\n                if ((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))\n                goto LAB_0009d874;" statement_identifier : (if_statement "if ((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))\n                goto LAB_0009d874;" if (parenthesized_expression "((bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))))" ( (binary_expression "(bVar14 == 2) ||\n                   ((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0')))" (parenthesized_expression "(bVar14 == 2)" ( (binary_expression "bVar14 == 2" identifier == number_literal) )) || (parenthesized_expression "((*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0')))" ( (parenthesized_expression "(*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'))" ( (binary_expression "*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||\n                    (*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0')" (binary_expression "*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1) == '\0'" (pointer_expression "*(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1)" * (cast_expression "(undefined1 *)((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1)" ( (binary_expression "(int)&pSVar32[0x12].forwarders_._M_h._M_buckets + 1" (cast_expression "(int)&pSVar32[0x12].forwarders_._M_h._M_buckets" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar32[0x12].forwarders_._M_h._M_buckets" & (field_expression "pSVar32[0x12].forwarders_._M_h._M_buckets" (field_expression "pSVar32[0x12].forwarders_._M_h" (field_expression "pSVar32[0x12].forwarders_" (subscript_expression "pSVar32[0x12]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "(*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0')" ( (binary_expression "*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1) != '\0'" (pointer_expression "*(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1)" * (cast_expression "(undefined1 *)((int)&pSVar32[0x37].namepool_.offset_ + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pSVar32[0x37].namepool_.offset_ + 1)" ( (binary_expression "(int)&pSVar32[0x37].namepool_.offset_ + 1" (cast_expression "(int)&pSVar32[0x37].namepool_.offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar32[0x37].namepool_.offset_" & (field_expression "pSVar32[0x37].namepool_.offset_" (field_expression "pSVar32[0x37].namepool_" (subscript_expression "pSVar32[0x37]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (goto_statement "goto LAB_0009d874;" goto statement_identifier ;))) (goto_statement "goto LAB_0009d943;" goto statement_identifier ;) })) (expression_statement "iVar20 = 0xb;" (assignment_expression "iVar20 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar35 = pbVar36;" (assignment_expression "pbVar35 = pbVar36" identifier = identifier) ;) (expression_statement "pbVar37 = (byte *)((int)local_94 + -0x1a1fa6);" (assignment_expression "pbVar37 = (byte *)((int)local_94 + -0x1a1fa6)" identifier = (cast_expression "(byte *)((int)local_94 + -0x1a1fa6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x1a1fa6)" ( (binary_expression "(int)local_94 + -0x1a1fa6" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar13 = *pbVar35 < *pbVar37;\n                bVar40 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar40);" do (compound_statement "{\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar13 = *pbVar35 < *pbVar37;\n                bVar40 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              }" { (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar35 < *pbVar37;" (assignment_expression "bVar13 = *pbVar35 < *pbVar37" identifier = (binary_expression "*pbVar35 < *pbVar37" (pointer_expression "*pbVar35" * identifier) < (pointer_expression "*pbVar37" * identifier))) ;) (expression_statement "bVar40 = *pbVar35 == *pbVar37;" (assignment_expression "bVar40 = *pbVar35 == *pbVar37" identifier = (binary_expression "*pbVar35 == *pbVar37" (pointer_expression "*pbVar35" * identifier) == (pointer_expression "*pbVar37" * identifier))) ;) (expression_statement "pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;" (assignment_expression "pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "pbVar35 + (uint)bVar41 * -2 + 1" (binary_expression "pbVar35 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;" (assignment_expression "pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "pbVar37 + (uint)bVar41 * -2 + 1" (binary_expression "pbVar37 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar40)" ( identifier )) ;) (expression_statement "bVar39 = false;" (assignment_expression "bVar39 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar13 && !bVar40) == bVar13;" (assignment_expression "bVar13 = (!bVar13 && !bVar40) == bVar13" identifier = (binary_expression "(!bVar13 && !bVar40) == bVar13" (parenthesized_expression "(!bVar13 && !bVar40)" ( (binary_expression "!bVar13 && !bVar40" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar40" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar13) goto LAB_0009d930;" if (parenthesized_expression "(bVar13)" ( identifier )) (goto_statement "goto LAB_0009d930;" goto statement_identifier ;)) (expression_statement "iVar20 = 0xb;" (assignment_expression "iVar20 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar35 = pbVar36;" (assignment_expression "pbVar35 = pbVar36" identifier = identifier) ;) (expression_statement "pbVar37 = (byte *)((int)local_94 + -0x1a1f9b);" (assignment_expression "pbVar37 = (byte *)((int)local_94 + -0x1a1f9b)" identifier = (cast_expression "(byte *)((int)local_94 + -0x1a1f9b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x1a1f9b)" ( (binary_expression "(int)local_94 + -0x1a1f9b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar35 < *pbVar37;\n                bVar13 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              } while (bVar13);" do (compound_statement "{\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar39 = *pbVar35 < *pbVar37;\n                bVar13 = *pbVar35 == *pbVar37;\n                pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;\n              }" { (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar39 = *pbVar35 < *pbVar37;" (assignment_expression "bVar39 = *pbVar35 < *pbVar37" identifier = (binary_expression "*pbVar35 < *pbVar37" (pointer_expression "*pbVar35" * identifier) < (pointer_expression "*pbVar37" * identifier))) ;) (expression_statement "bVar13 = *pbVar35 == *pbVar37;" (assignment_expression "bVar13 = *pbVar35 == *pbVar37" identifier = (binary_expression "*pbVar35 == *pbVar37" (pointer_expression "*pbVar35" * identifier) == (pointer_expression "*pbVar37" * identifier))) ;) (expression_statement "pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;" (assignment_expression "pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "pbVar35 + (uint)bVar41 * -2 + 1" (binary_expression "pbVar35 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1;" (assignment_expression "pbVar37 = pbVar37 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "pbVar37 + (uint)bVar41 * -2 + 1" (binary_expression "pbVar37 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar40 = false;" (assignment_expression "bVar40 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar39 && !bVar13) == bVar39;" (assignment_expression "bVar13 = (!bVar39 && !bVar13) == bVar39" identifier = (binary_expression "(!bVar39 && !bVar13) == bVar39" (parenthesized_expression "(!bVar39 && !bVar13)" ( (binary_expression "!bVar39 && !bVar13" (unary_expression "!bVar39" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n                iVar20 = 0x17;\n                pbVar35 = pbVar36;\n                ppuVar38 = local_94 + -0x687e4;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar35 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar35 == *(byte *)ppuVar38;\n                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if ((!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)) {\n                  bVar40 = false;\n                  iVar20 = 0x16;\n                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;\n                }\n                goto LAB_0009d943;\n              }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n                iVar20 = 0x17;\n                pbVar35 = pbVar36;\n                ppuVar38 = local_94 + -0x687e4;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar35 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar35 == *(byte *)ppuVar38;\n                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);\n                bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n                local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);\n                bVar14 = bVar14 & 3;\n                bVar13 = (!bVar40 && !bVar13) == bVar40;\n                if ((!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)) {\n                  bVar40 = false;\n                  iVar20 = 0x16;\n                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;\n                }\n                goto LAB_0009d943;\n              }" { (expression_statement "iVar20 = 0x17;" (assignment_expression "iVar20 = 0x17" identifier = number_literal) ;) (expression_statement "pbVar35 = pbVar36;" (assignment_expression "pbVar35 = pbVar36" identifier = identifier) ;) (expression_statement "ppuVar38 = local_94 + -0x687e4;" (assignment_expression "ppuVar38 = local_94 + -0x687e4" identifier = (binary_expression "local_94 + -0x687e4" identifier + number_literal)) ;) (do_statement "do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar35 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar35 == *(byte *)ppuVar38;\n                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                } while (bVar13);" do (compound_statement "{\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar40 = *pbVar35 < *(byte *)ppuVar38;\n                  bVar13 = *pbVar35 == *(byte *)ppuVar38;\n                  pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);\n                }" { (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar40 = *pbVar35 < *(byte *)ppuVar38;" (assignment_expression "bVar40 = *pbVar35 < *(byte *)ppuVar38" identifier = (binary_expression "*pbVar35 < *(byte *)ppuVar38" (pointer_expression "*pbVar35" * identifier) < (pointer_expression "*(byte *)ppuVar38" * (cast_expression "(byte *)ppuVar38" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar13 = *pbVar35 == *(byte *)ppuVar38;" (assignment_expression "bVar13 = *pbVar35 == *(byte *)ppuVar38" identifier = (binary_expression "*pbVar35 == *(byte *)ppuVar38" (pointer_expression "*pbVar35" * identifier) == (pointer_expression "*(byte *)ppuVar38" * (cast_expression "(byte *)ppuVar38" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;" (assignment_expression "pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "pbVar35 + (uint)bVar41 * -2 + 1" (binary_expression "pbVar35 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1);" (assignment_expression "ppuVar38 = (undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar38 + (uint)bVar41 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar38 + (uint)bVar41 * -2 + 1)" ( (binary_expression "(int)ppuVar38 + (uint)bVar41 * -2 + 1" (binary_expression "(int)ppuVar38 + (uint)bVar41 * -2" (cast_expression "(int)ppuVar38" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);" (assignment_expression "bVar14 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1)" * (cast_expression "(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_90->table_)._M_h._M_bucket_count + 1)" ( (binary_expression "(int)&(local_90->table_)._M_h._M_bucket_count + 1" (cast_expression "(int)&(local_90->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_90->table_)._M_h._M_bucket_count" & (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14);" (assignment_expression "local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14)" identifier = (parenthesized_expression "(Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14)" ( (binary_expression "Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar14)" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)CONCAT31(local_9c._1_3_,bVar14)" * (ERROR ")" )) (call_expression "CONCAT31(local_9c._1_3_,bVar14)" identifier (argument_list "(local_9c._1_3_,bVar14)" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , identifier ))))) ))) ;) (expression_statement "bVar14 = bVar14 & 3;" (assignment_expression "bVar14 = bVar14 & 3" identifier = (binary_expression "bVar14 & 3" identifier & number_literal)) ;) (expression_statement "bVar13 = (!bVar40 && !bVar13) == bVar40;" (assignment_expression "bVar13 = (!bVar40 && !bVar13) == bVar40" identifier = (binary_expression "(!bVar40 && !bVar13) == bVar40" (parenthesized_expression "(!bVar40 && !bVar13)" ( (binary_expression "!bVar40 && !bVar13" (unary_expression "!bVar40" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if ((!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)) {\n                  bVar40 = false;\n                  iVar20 = 0x16;\n                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;\n                }" if (parenthesized_expression "((!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13))" ( (binary_expression "(!bVar13) ||\n                   (bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)" (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) || (parenthesized_expression "(bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13)" ( (comma_expression "bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0, !bVar13" (assignment_expression "bVar13 = ((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0" identifier = (binary_expression "((local_90->table_)._M_h._M_bucket_count & 0x1000000) == 0" (parenthesized_expression "((local_90->table_)._M_h._M_bucket_count & 0x1000000)" ( (binary_expression "(local_90->table_)._M_h._M_bucket_count & 0x1000000" (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) == number_literal)) , (unary_expression "!bVar13" ! identifier)) ))) )) (compound_statement "{\n                  bVar40 = false;\n                  iVar20 = 0x16;\n                  pbVar35 = (byte *)((int)local_94 + -0x1a1f79);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);\n                  if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;\n                }" { (expression_statement "bVar40 = false;" (assignment_expression "bVar40 = false" identifier = false) ;) (expression_statement "iVar20 = 0x16;" (assignment_expression "iVar20 = 0x16" identifier = number_literal) ;) (expression_statement "pbVar35 = (byte *)((int)local_94 + -0x1a1f79);" (assignment_expression "pbVar35 = (byte *)((int)local_94 + -0x1a1f79)" identifier = (cast_expression "(byte *)((int)local_94 + -0x1a1f79)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x1a1f79)" ( (binary_expression "(int)local_94 + -0x1a1f79" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  } while (bVar13);" do (compound_statement "{\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar40 = *pbVar36 < *pbVar35;\n                    bVar13 = *pbVar36 == *pbVar35;\n                    pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;\n                    pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;\n                  }" { (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar40 = *pbVar36 < *pbVar35;" (assignment_expression "bVar40 = *pbVar36 < *pbVar35" identifier = (binary_expression "*pbVar36 < *pbVar35" (pointer_expression "*pbVar36" * identifier) < (pointer_expression "*pbVar35" * identifier))) ;) (expression_statement "bVar13 = *pbVar36 == *pbVar35;" (assignment_expression "bVar13 = *pbVar36 == *pbVar35" identifier = (binary_expression "*pbVar36 == *pbVar35" (pointer_expression "*pbVar36" * identifier) == (pointer_expression "*pbVar35" * identifier))) ;) (expression_statement "pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (uint)bVar41 * -2 + 1" (binary_expression "pbVar36 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1;" (assignment_expression "pbVar35 = pbVar35 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "pbVar35 + (uint)bVar41 * -2 + 1" (binary_expression "pbVar35 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (if_statement "if (((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')) goto LAB_0009d85a;" if (parenthesized_expression "(((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0'))" ( (binary_expression "((!bVar40 && !bVar13) != bVar40) ||\n                     ((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')" (parenthesized_expression "((!bVar40 && !bVar13) != bVar40)" ( (binary_expression "(!bVar40 && !bVar13) != bVar40" (parenthesized_expression "(!bVar40 && !bVar13)" ( (binary_expression "!bVar40 && !bVar13" (unary_expression "!bVar40" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) != identifier) )) || (parenthesized_expression "((char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0')" ( (binary_expression "(char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2) <\n                      '\0'" (cast_expression "(char)*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2)" * (cast_expression "(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_90->table_)._M_h._M_bucket_count + 2)" ( (binary_expression "(int)&(local_90->table_)._M_h._M_bucket_count + 2" (cast_expression "(int)&(local_90->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_90->table_)._M_h._M_bucket_count" & (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_0009d85a;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0009d943;" goto statement_identifier ;) })) (labeled_statement "LAB_0009d874:\n              puVar33[-4] = (int)local_c4 >> 0x1f;" statement_identifier : (expression_statement "puVar33[-4] = (int)local_c4 >> 0x1f;" (assignment_expression "puVar33[-4] = (int)local_c4 >> 0x1f" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_c4 >> 0x1f" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;)) (expression_statement "puVar33[-5] = local_c4;" (assignment_expression "puVar33[-5] = local_c4" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-6] = local_b4;" (assignment_expression "puVar33[-6] = local_b4" (subscript_expression "puVar33[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-7] = relinfo;" (assignment_expression "puVar33[-7] = relinfo" (subscript_expression "puVar33[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-8] = local_90;" (assignment_expression "puVar33[-8] = local_90" (subscript_expression "puVar33[-8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-9] = 0x9d89a;" (assignment_expression "puVar33[-9] = 0x9d89a" (subscript_expression "puVar33[-9]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::gold_undefined_symbol_at_location<32,_true>\n                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );" statement_identifier : (ERROR ":" :) (expression_statement "gold_undefined_symbol_at_location<32,_true>\n                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );" (comma_expression "gold_undefined_symbol_at_location<32,_true>\n                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        )" (binary_expression "gold_undefined_symbol_at_location<32" identifier < number_literal) , (binary_expression "_true>\n                        ((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        )" identifier > (parenthesized_expression "((gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        )" ( (comma_expression "(gold *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        )" (cast_expression "(gold *)puVar33[-8]" ( (type_descriptor "gold *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-8]" identifier [ number_literal ])) , (comma_expression "(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        )" (cast_expression "(Symbol *)puVar33[-7]" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-7]" identifier [ number_literal ])) , (parenthesized_expression "(Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        )" ( (comma_expression "Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)" (binary_expression "Relocate_info<32" identifier < number_literal) , (comma_expression "_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)" (binary_expression "_true> *)puVar33[-6]" identifier > (pointer_expression "*)puVar33[-6]" * (ERROR ")" )) (subscript_expression "puVar33[-6]" identifier [ number_literal ]))) , (comma_expression "puVar33[-5],*(off_t *)(puVar33 + -4)" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) , (pointer_expression "*(off_t *)(puVar33 + -4)" * (cast_expression "(off_t *)(puVar33 + -4)" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + -4)" ( (binary_expression "puVar33 + -4" identifier + number_literal) ))))))) )))) )))) ;)) (expression_statement "bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);" (assignment_expression "bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" * (cast_expression "(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_90->table_)._M_h._M_bucket_count + 3)" ( (binary_expression "(int)&(local_90->table_)._M_h._M_bucket_count + 3" (cast_expression "(int)&(local_90->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_90->table_)._M_h._M_bucket_count" & (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) }) (else_clause "else {\n              if (bVar14 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n              bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              bVar14 = bVar28 & 3;\n              if ((bVar28 & 3) != 0) {\n                bVar30 = bVar30 & 7;\nLAB_0009d6cc:\n                if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }\n              }\nLAB_0009d380:\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }" else (compound_statement "{\n              if (bVar14 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n              bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);\n              local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);\n              bVar14 = bVar28 & 3;\n              if ((bVar28 & 3) != 0) {\n                bVar30 = bVar30 & 7;\nLAB_0009d6cc:\n                if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }\n              }\nLAB_0009d380:\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);\n            }" { (if_statement "if (bVar14 == 4) goto LAB_0009d63d;" if (parenthesized_expression "(bVar14 == 4)" ( (binary_expression "bVar14 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0009d63d;" goto statement_identifier ;)) (labeled_statement "LAB_0009d6b0:\n              bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);" statement_identifier : (expression_statement "bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1);" (assignment_expression "bVar28 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1)" * (cast_expression "(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_90->table_)._M_h._M_bucket_count + 1)" ( (binary_expression "(int)&(local_90->table_)._M_h._M_bucket_count + 1" (cast_expression "(int)&(local_90->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_90->table_)._M_h._M_bucket_count" & (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;)) (expression_statement "local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28);" (assignment_expression "local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28)" identifier = (parenthesized_expression "(Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28)" ( (binary_expression "Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar28)" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)CONCAT31(local_9c._1_3_,bVar28)" * (ERROR ")" )) (call_expression "CONCAT31(local_9c._1_3_,bVar28)" identifier (argument_list "(local_9c._1_3_,bVar28)" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , identifier ))))) ))) ;) (expression_statement "bVar14 = bVar28 & 3;" (assignment_expression "bVar14 = bVar28 & 3" identifier = (binary_expression "bVar28 & 3" identifier & number_literal)) ;) (if_statement "if ((bVar28 & 3) != 0) {\n                bVar30 = bVar30 & 7;\nLAB_0009d6cc:\n                if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }\n              }" if (parenthesized_expression "((bVar28 & 3) != 0)" ( (binary_expression "(bVar28 & 3) != 0" (parenthesized_expression "(bVar28 & 3)" ( (binary_expression "bVar28 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                bVar30 = bVar30 & 7;\nLAB_0009d6cc:\n                if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }\n              }" { (expression_statement "bVar30 = bVar30 & 7;" (assignment_expression "bVar30 = bVar30 & 7" identifier = (binary_expression "bVar30 & 7" identifier & number_literal)) ;) (labeled_statement "LAB_0009d6cc:\n                if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }" statement_identifier : (if_statement "if (bVar30 == 4) {\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }" if (parenthesized_expression "(bVar30 == 4)" ( (binary_expression "bVar30 == 4" identifier == number_literal) )) (compound_statement "{\n                  bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;\n                  local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);\n                  if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;\nLAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }\n                  if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;\n                  if (bVar30 == 0) goto LAB_0009d312;\n                }" { (expression_statement "bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count;" (assignment_expression "bVar30 = (byte)(local_90->table_)._M_h._M_bucket_count" identifier = (field_expression "(byte)(local_90->table_)._M_h._M_bucket_count" (field_expression "(byte)(local_90->table_)._M_h" (call_expression "(byte)(local_90->table_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (expression_statement "local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30);" (assignment_expression "local_9c = (Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30)" identifier = (parenthesized_expression "(Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30)" ( (binary_expression "Symbol_value<32> *)CONCAT31(local_9c._1_3_,bVar30)" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)CONCAT31(local_9c._1_3_,bVar30)" * (ERROR ")" )) (call_expression "CONCAT31(local_9c._1_3_,bVar30)" identifier (argument_list "(local_9c._1_3_,bVar30)" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , identifier ))))) ))) ;) (if_statement "if ((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0009d380;" if (parenthesized_expression "((bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0))" ( (binary_expression "(bVar30 >> 4 == 2) ||\n                     (bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)" (parenthesized_expression "(bVar30 >> 4 == 2)" ( (binary_expression "bVar30 >> 4 == 2" (binary_expression "bVar30 >> 4" identifier >> number_literal) == number_literal) )) || (parenthesized_expression "(bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0)" ( (comma_expression "bVar30 = 4, ((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0" (assignment_expression "bVar30 = 4" identifier = number_literal) , (binary_expression "((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2) != 0" (parenthesized_expression "((uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2)" ( (binary_expression "(uint)(local_90->table_)._M_h._M_before_begin._M_nxt & 2" (field_expression "(uint)(local_90->table_)._M_h._M_before_begin._M_nxt" (field_expression "(uint)(local_90->table_)._M_h._M_before_begin" (field_expression "(uint)(local_90->table_)._M_h" (call_expression "(uint)(local_90->table_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) != number_literal)) ))) )) (goto_statement "goto LAB_0009d380;" goto statement_identifier ;)) (labeled_statement "LAB_0009d701:\n                  pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];" statement_identifier : (expression_statement "pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2];" (assignment_expression "pSVar29 = (Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2]" identifier = (cast_expression "(Symbol_table *)\n                            ((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2]" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data[2]" (field_expression "((Output_data *)&local_dc->saw_undefined_)->_vptr_Output_data" (parenthesized_expression "((Output_data *)&local_dc->saw_undefined_)" ( (cast_expression "(Output_data *)&local_dc->saw_undefined_" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_dc->saw_undefined_" & (field_expression "local_dc->saw_undefined_" identifier -> field_identifier))) )) -> field_identifier) [ number_literal ]))) ;)) (if_statement "if (pSVar29 == (Symbol_table *)0x0) {\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }" if (parenthesized_expression "(pSVar29 == (Symbol_table *)0x0)" ( (binary_expression "pSVar29 == (Symbol_table *)0x0" identifier == (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    puVar33[-1] = pSVar32;\n                    puVar33[-2] = local_94 + -0x64ebf;\n                    puVar33[-3] = 0x5c;\n                    puVar33[-4] = (int)local_94 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */\n                    puVar33[-5] = &UNK_0009f171;\n                    gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);\n                  }" { (expression_statement "puVar33[-1] = pSVar32;" (assignment_expression "puVar33[-1] = pSVar32" (subscript_expression "puVar33[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-2] = local_94 + -0x64ebf;" (assignment_expression "puVar33[-2] = local_94 + -0x64ebf" (subscript_expression "puVar33[-2]" identifier [ number_literal ]) = (binary_expression "local_94 + -0x64ebf" identifier + number_literal)) ;) (expression_statement "puVar33[-3] = 0x5c;" (assignment_expression "puVar33[-3] = 0x5c" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar33[-4] = (int)local_94 + -0x1a1d93;" (assignment_expression "puVar33[-4] = (int)local_94 + -0x1a1d93" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "puVar33[-5] = &UNK_0009f171;" (assignment_expression "puVar33[-5] = &UNK_0009f171" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = (pointer_expression "&UNK_0009f171" & identifier)) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2]);" (call_expression "do_gold_unreachable((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" identifier (argument_list "((char *)puVar33[-4],puVar33[-3],(char *)puVar33[-2])" ( (cast_expression "(char *)puVar33[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-4]" identifier [ number_literal ])) , (subscript_expression "puVar33[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar33[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-2]" identifier [ number_literal ])) ))) ;)) })) (if_statement "if (*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;" if (parenthesized_expression "(*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0')" ( (binary_expression "*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1) == '\0'" (pointer_expression "*(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1)" * (cast_expression "(undefined1 *)\n                       ((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1)" ( (binary_expression "(int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor + 1" (cast_expression "(int)&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor" & (field_expression "pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy.\n                              _M_max_load_factor" (field_expression "pSVar29[0x33].candidate_odr_violations_._M_h._M_rehash_policy" (field_expression "pSVar29[0x33].candidate_odr_violations_._M_h" (field_expression "pSVar29[0x33].candidate_odr_violations_" (subscript_expression "pSVar29[0x33]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009d321;" goto statement_identifier ;)) (if_statement "if (bVar30 == 0) goto LAB_0009d312;" if (parenthesized_expression "(bVar30 == 0)" ( (binary_expression "bVar30 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009d312;" goto statement_identifier ;)) }))) })) (labeled_statement "LAB_0009d380:\n              bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);" statement_identifier : (expression_statement "bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3);" (assignment_expression "bVar30 = *(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" * (cast_expression "(undefined1 *)((int)&(local_90->table_)._M_h._M_bucket_count + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_90->table_)._M_h._M_bucket_count + 3)" ( (binary_expression "(int)&(local_90->table_)._M_h._M_bucket_count + 3" (cast_expression "(int)&(local_90->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_90->table_)._M_h._M_bucket_count" & (field_expression "(local_90->table_)._M_h._M_bucket_count" (field_expression "(local_90->table_)._M_h" (parenthesized_expression "(local_90->table_)" ( (field_expression "local_90->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;)) }))) (if_statement "if ((bVar30 & 4) != 0) {\n              puVar33[-3] = (int)local_c4 >> 0x1f;\n              puVar33[-4] = local_c4;\n              puVar33[-5] = local_b4;\n              pSVar29 = relinfo->symtab;\n              puVar33[-6] = relinfo;\n              puVar33[-7] = local_90;\n              local_90 = pSVar29;\n              puVar33[-8] = &pSVar29->warnings_;\n              puVar33[-9] = 0x9d8e4;\n              gold::Warnings::issue_warning<32,_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n            }" if (parenthesized_expression "((bVar30 & 4) != 0)" ( (binary_expression "(bVar30 & 4) != 0" (parenthesized_expression "(bVar30 & 4)" ( (binary_expression "bVar30 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              puVar33[-3] = (int)local_c4 >> 0x1f;\n              puVar33[-4] = local_c4;\n              puVar33[-5] = local_b4;\n              pSVar29 = relinfo->symtab;\n              puVar33[-6] = relinfo;\n              puVar33[-7] = local_90;\n              local_90 = pSVar29;\n              puVar33[-8] = &pSVar29->warnings_;\n              puVar33[-9] = 0x9d8e4;\n              gold::Warnings::issue_warning<32,_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );\n            }" { (expression_statement "puVar33[-3] = (int)local_c4 >> 0x1f;" (assignment_expression "puVar33[-3] = (int)local_c4 >> 0x1f" (subscript_expression "puVar33[-3]" identifier [ number_literal ]) = (binary_expression "(int)local_c4 >> 0x1f" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "puVar33[-4] = local_c4;" (assignment_expression "puVar33[-4] = local_c4" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-5] = local_b4;" (assignment_expression "puVar33[-5] = local_b4" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pSVar29 = relinfo->symtab;" (assignment_expression "pSVar29 = relinfo->symtab" identifier = (field_expression "relinfo->symtab" identifier -> field_identifier)) ;) (expression_statement "puVar33[-6] = relinfo;" (assignment_expression "puVar33[-6] = relinfo" (subscript_expression "puVar33[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-7] = local_90;" (assignment_expression "puVar33[-7] = local_90" (subscript_expression "puVar33[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_90 = pSVar29;" (assignment_expression "local_90 = pSVar29" identifier = identifier) ;) (expression_statement "puVar33[-8] = &pSVar29->warnings_;" (assignment_expression "puVar33[-8] = &pSVar29->warnings_" (subscript_expression "puVar33[-8]" identifier [ number_literal ]) = (pointer_expression "&pSVar29->warnings_" & (field_expression "pSVar29->warnings_" identifier -> field_identifier))) ;) (expression_statement "puVar33[-9] = 0x9d8e4;" (assignment_expression "puVar33[-9] = 0x9d8e4" (subscript_expression "puVar33[-9]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::Warnings::issue_warning<32,_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );" statement_identifier : (ERROR ":" :) (labeled_statement "Warnings::issue_warning<32,_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );" statement_identifier : (ERROR ":" :) (expression_statement "issue_warning<32,_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        );" (comma_expression "issue_warning<32,_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        )" (binary_expression "issue_warning<32" identifier < number_literal) , (binary_expression "_true>\n                        ((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        )" identifier > (parenthesized_expression "((Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        )" ( (comma_expression "(Warnings *)puVar33[-8],(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        )" (cast_expression "(Warnings *)puVar33[-8]" ( (type_descriptor "Warnings *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-8]" identifier [ number_literal ])) , (comma_expression "(Symbol *)puVar33[-7],\n                         (Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        )" (cast_expression "(Symbol *)puVar33[-7]" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[-7]" identifier [ number_literal ])) , (parenthesized_expression "(Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)\n                        )" ( (comma_expression "Relocate_info<32,_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)" (binary_expression "Relocate_info<32" identifier < number_literal) , (comma_expression "_true> *)puVar33[-6],puVar33[-5],*(off_t *)(puVar33 + -4)" (binary_expression "_true> *)puVar33[-6]" identifier > (pointer_expression "*)puVar33[-6]" * (ERROR ")" )) (subscript_expression "puVar33[-6]" identifier [ number_literal ]))) , (comma_expression "puVar33[-5],*(off_t *)(puVar33 + -4)" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) , (pointer_expression "*(off_t *)(puVar33 + -4)" * (cast_expression "(off_t *)(puVar33 + -4)" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + -4)" ( (binary_expression "puVar33 + -4" identifier + number_literal) ))))))) )))) )))) ;))) })) })) })) (expression_statement "puVar33[-4] = local_d0;" (assignment_expression "puVar33[-4] = local_d0" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-5] = 0x9d39e;" (assignment_expression "puVar33[-5] = 0x9d39e" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);" statement_identifier (ERROR "::Symbol_value<32>:" : : (binary_expression "Symbol_value<32" identifier < number_literal) > :) : (expression_statement "~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);" (unary_expression "~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3])" ~ (call_expression "Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3])" identifier (argument_list "((Symbol_value<32> *)puVar33[-4],puVar33[-3])" ( (parenthesized_expression "(Symbol_value<32> *)puVar33[-4],puVar33[-3])" ( (comma_expression "Symbol_value<32> *)puVar33[-4],puVar33[-3]" (binary_expression "Symbol_value<32> *)puVar33[-4]" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)puVar33[-4]" * (ERROR ")" )) (subscript_expression "puVar33[-4]" identifier [ number_literal ]))) , (subscript_expression "puVar33[-3]" identifier [ number_literal ])) )) )))) ;)) (expression_statement "puVar33[-4] = local_bc;" (assignment_expression "puVar33[-4] = local_bc" (subscript_expression "puVar33[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar33[-5] = 0x9d3aa;" (assignment_expression "puVar33[-5] = 0x9d3aa" (subscript_expression "puVar33[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);" statement_identifier (ERROR "::Symbol_value<32>:" : : (binary_expression "Symbol_value<32" identifier < number_literal) > :) : (expression_statement "~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3]);" (unary_expression "~Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3])" ~ (call_expression "Symbol_value((Symbol_value<32> *)puVar33[-4],puVar33[-3])" identifier (argument_list "((Symbol_value<32> *)puVar33[-4],puVar33[-3])" ( (parenthesized_expression "(Symbol_value<32> *)puVar33[-4],puVar33[-3])" ( (comma_expression "Symbol_value<32> *)puVar33[-4],puVar33[-3]" (binary_expression "Symbol_value<32> *)puVar33[-4]" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)puVar33[-4]" * (ERROR ")" )) (subscript_expression "puVar33[-4]" identifier [ number_literal ]))) , (subscript_expression "puVar33[-3]" identifier [ number_literal ])) )) )))) ;)) (expression_statement "puVar34 = puVar33;" (assignment_expression "puVar34 = puVar33" identifier = identifier) ;) }))) (expression_statement "else {\n        *(uint *)((int)puVar34 + -4) = local_c4;" (binary_expression "else {\n        *(uint *)((int)puVar34 + -4) = local_c4" identifier (ERROR "{" {) * (cast_expression "(uint *)((int)puVar34 + -4) = local_c4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "((int)puVar34 + -4) = local_c4" (parenthesized_expression "((int)puVar34 + -4)" ( (binary_expression "(int)puVar34 + -4" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) = identifier))) ;) (expression_statement "*(uint *)((int)puVar34 + -8) = relinfo->data_shndx;" (assignment_expression "*(uint *)((int)puVar34 + -8) = relinfo->data_shndx" (pointer_expression "*(uint *)((int)puVar34 + -8)" * (cast_expression "(uint *)((int)puVar34 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "relinfo->data_shndx" identifier -> field_identifier)) ;) (expression_statement "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = relinfo->object;" (assignment_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc) = relinfo->object" (pointer_expression "*(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc)" * (call_expression "(Sized_relobj_file<32,_true> **)((int)puVar34 + -0xc)" (parenthesized_expression "(Sized_relobj_file<32,_true> **)" ( (comma_expression "Sized_relobj_file<32,_true> **" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "relinfo->object" identifier -> field_identifier)) ;) (expression_statement "*(Output_section **)((int)puVar34 + -0x10) = output_section;" (assignment_expression "*(Output_section **)((int)puVar34 + -0x10) = output_section" (pointer_expression "*(Output_section **)((int)puVar34 + -0x10)" * (cast_expression "(Output_section **)((int)puVar34 + -0x10)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)puVar34 + -0x14) = 0x9dff8;" (assignment_expression "*(undefined4 *)((int)puVar34 + -0x14) = 0x9dff8" (pointer_expression "*(undefined4 *)((int)puVar34 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar34 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -0x14)" ( (binary_expression "(int)puVar34 + -0x14" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "local_c4 = gold::" (assignment_expression "local_c4 = gold" identifier = identifier) : :) (labeled_statement "Output_section::output_offset\n                             (*(Output_section **)((int)puVar34 + -0x10),\n                              *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8),\n                              *(section_offset_type *)((int)puVar34 + -4));" statement_identifier : (ERROR ":" :) (expression_statement "output_offset\n                             (*(Output_section **)((int)puVar34 + -0x10),\n                              *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8),\n                              *(section_offset_type *)((int)puVar34 + -4));" (call_expression "output_offset\n                             (*(Output_section **)((int)puVar34 + -0x10),\n                              *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8),\n                              *(section_offset_type *)((int)puVar34 + -4))" identifier (argument_list "(*(Output_section **)((int)puVar34 + -0x10),\n                              *(Relobj **)((int)puVar34 + -0xc),*(uint *)((int)puVar34 + -8),\n                              *(section_offset_type *)((int)puVar34 + -4))" ( (pointer_expression "*(Output_section **)((int)puVar34 + -0x10)" * (cast_expression "(Output_section **)((int)puVar34 + -0x10)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0x10)" ( (binary_expression "(int)puVar34 + -0x10" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(Relobj **)((int)puVar34 + -0xc)" * (cast_expression "(Relobj **)((int)puVar34 + -0xc)" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar34 + -0xc)" ( (binary_expression "(int)puVar34 + -0xc" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)puVar34 + -8)" * (cast_expression "(uint *)((int)puVar34 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -8)" ( (binary_expression "(int)puVar34 + -8" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(section_offset_type *)((int)puVar34 + -4)" * (cast_expression "(section_offset_type *)((int)puVar34 + -4)" ( (type_descriptor "section_offset_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar34 + -4)" ( (binary_expression "(int)puVar34 + -4" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) (if_statement "if (local_c4 != 0xffffffff) goto LAB_0009cc8a;" if (parenthesized_expression "(local_c4 != 0xffffffff)" ( (binary_expression "local_c4 != 0xffffffff" identifier != number_literal) )) (goto_statement "goto LAB_0009cc8a;" goto statement_identifier ;)) })) (expression_statement "local_b4 = local_b4 + 1;" (assignment_expression "local_b4 = local_b4 + 1" identifier = (binary_expression "local_b4 + 1" identifier + number_literal)) ;) (expression_statement "prelocs = prelocs + 0xc;" (assignment_expression "prelocs = prelocs + 0xc" identifier = (binary_expression "prelocs + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(reloc_count != local_b4)" ( (binary_expression "reloc_count != local_b4" identifier != identifier) )) ;) })) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_0009cbc0(int param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,int param_9,uint param_10,int *param_11\n                 )\n\n{\n  code *pcVar1;\n  undefined **ppuVar2;\n  undefined *puVar3;\n  int *piVar4;\n  int iVar5;\n  undefined1 *puVar6;\n  char cVar7;\n  code cVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  byte *pbVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  byte bVar16;\n  undefined **ppuVar17;\n  undefined4 extraout_ECX;\n  undefined **extraout_ECX_00;\n  byte bVar18;\n  code cVar19;\n  undefined **ppuVar20;\n  byte *pbVar21;\n  undefined1 *puVar22;\n  undefined1 *puVar23;\n  byte bVar24;\n  byte *pbVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  undefined1 auStack_ec [12];\n  undefined **local_e0;\n  undefined **local_dc;\n  uint local_d8;\n  char local_d1;\n  byte **local_d0;\n  int *local_cc;\n  int local_c8;\n  uint local_c4;\n  int local_c0;\n  byte **local_bc;\n  uint local_b8;\n  int local_b4;\n  byte **local_b0;\n  uint local_ac;\n  int local_a8;\n  int *local_a4;\n  uint local_a0;\n  byte **local_9c;\n  int local_98;\n  undefined **local_94;\n  undefined **local_90;\n  undefined1 local_81;\n  undefined1 local_80 [4];\n  int local_7c;\n  uint *local_78;\n  char local_74;\n  int local_70;\n  byte *local_6c;\n  undefined4 local_68;\n  uint local_64;\n  undefined *local_60;\n  byte *local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  byte *local_50;\n  byte *local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined *local_40;\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  bVar29 = 0;\n  local_94 = &__DT_PLTGOT;\n  local_d1 = param_7;\n  if (param_3 != 4) {\n                    \n    FUN_002446e0("../../gold/sparc.cc",0x10a1,"relocate_section");\n  }\n  local_74 = '\0';\n  local_70 = 0;\n  local_cc = (int *)param_2[2];\n  pcVar1 = *(code **)(*local_cc + 0x8c);\n  if (pcVar1 == FUN_00070d40) {\n                    \n    local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc);\n  }\n  else {\n                    \n    local_d8 = (*pcVar1)(local_cc);\n  }\n  puVar22 = auStack_ec;\n  local_c0 = 0;\n  local_b4 = 0;\n  local_e0 = local_94 + 0x1f2;\n  puVar6 = auStack_ec;\n  local_dc = local_e0;\n  if (param_5 != 0) {\n    do {\n      puVar22 = puVar6;\n      uVar9 = *param_4;\n      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      param_4 = param_4 + 3;\n      puVar6 = puVar22;\n    } while (param_5 != local_b4);\n  }\n  if (local_74 == '\0') {\n    return;\n  }\n  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n  *(undefined4 *)(puVar22 + -0x14) = 0x9f087;\n  uVar15 = gettext();\n  *(undefined4 *)(puVar22 + -0x10) = uVar15;\n  *(undefined4 *)(puVar22 + -0x14) = 0x9f08f;\n  FUN_0023b810();\n  return;\n}\n\n" (function_definition "void FUN_0009cbc0(int param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,int param_9,uint param_10,int *param_11\n                 )\n\n{\n  code *pcVar1;\n  undefined **ppuVar2;\n  undefined *puVar3;\n  int *piVar4;\n  int iVar5;\n  undefined1 *puVar6;\n  char cVar7;\n  code cVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  byte *pbVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  byte bVar16;\n  undefined **ppuVar17;\n  undefined4 extraout_ECX;\n  undefined **extraout_ECX_00;\n  byte bVar18;\n  code cVar19;\n  undefined **ppuVar20;\n  byte *pbVar21;\n  undefined1 *puVar22;\n  undefined1 *puVar23;\n  byte bVar24;\n  byte *pbVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  undefined1 auStack_ec [12];\n  undefined **local_e0;\n  undefined **local_dc;\n  uint local_d8;\n  char local_d1;\n  byte **local_d0;\n  int *local_cc;\n  int local_c8;\n  uint local_c4;\n  int local_c0;\n  byte **local_bc;\n  uint local_b8;\n  int local_b4;\n  byte **local_b0;\n  uint local_ac;\n  int local_a8;\n  int *local_a4;\n  uint local_a0;\n  byte **local_9c;\n  int local_98;\n  undefined **local_94;\n  undefined **local_90;\n  undefined1 local_81;\n  undefined1 local_80 [4];\n  int local_7c;\n  uint *local_78;\n  char local_74;\n  int local_70;\n  byte *local_6c;\n  undefined4 local_68;\n  uint local_64;\n  undefined *local_60;\n  byte *local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  byte *local_50;\n  byte *local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined *local_40;\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  bVar29 = 0;\n  local_94 = &__DT_PLTGOT;\n  local_d1 = param_7;\n  if (param_3 != 4) {\n                    \n    FUN_002446e0("../../gold/sparc.cc",0x10a1,"relocate_section");\n  }\n  local_74 = '\0';\n  local_70 = 0;\n  local_cc = (int *)param_2[2];\n  pcVar1 = *(code **)(*local_cc + 0x8c);\n  if (pcVar1 == FUN_00070d40) {\n                    \n    local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc);\n  }\n  else {\n                    \n    local_d8 = (*pcVar1)(local_cc);\n  }\n  puVar22 = auStack_ec;\n  local_c0 = 0;\n  local_b4 = 0;\n  local_e0 = local_94 + 0x1f2;\n  puVar6 = auStack_ec;\n  local_dc = local_e0;\n  if (param_5 != 0) {\n    do {\n      puVar22 = puVar6;\n      uVar9 = *param_4;\n      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      param_4 = param_4 + 3;\n      puVar6 = puVar22;\n    } while (param_5 != local_b4);\n  }\n  if (local_74 == '\0') {\n    return;\n  }\n  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n  *(undefined4 *)(puVar22 + -0x14) = 0x9f087;\n  uVar15 = gettext();\n  *(undefined4 *)(puVar22 + -0x10) = uVar15;\n  *(undefined4 *)(puVar22 + -0x14) = 0x9f08f;\n  FUN_0023b810();\n  return;\n}" primitive_type (function_declarator "FUN_0009cbc0(int param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,int param_9,uint param_10,int *param_11\n                 )" identifier (parameter_list "(int param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,int param_9,uint param_10,int *param_11\n                 )" ( (parameter_declaration "int param_1" primitive_type 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 "int param_9" primitive_type identifier) , (parameter_declaration "uint param_10" type_identifier identifier) , (parameter_declaration "int *param_11" primitive_type (pointer_declarator "*param_11" * identifier)) ))) (compound_statement "{\n  code *pcVar1;\n  undefined **ppuVar2;\n  undefined *puVar3;\n  int *piVar4;\n  int iVar5;\n  undefined1 *puVar6;\n  char cVar7;\n  code cVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  byte *pbVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  byte bVar16;\n  undefined **ppuVar17;\n  undefined4 extraout_ECX;\n  undefined **extraout_ECX_00;\n  byte bVar18;\n  code cVar19;\n  undefined **ppuVar20;\n  byte *pbVar21;\n  undefined1 *puVar22;\n  undefined1 *puVar23;\n  byte bVar24;\n  byte *pbVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  undefined1 auStack_ec [12];\n  undefined **local_e0;\n  undefined **local_dc;\n  uint local_d8;\n  char local_d1;\n  byte **local_d0;\n  int *local_cc;\n  int local_c8;\n  uint local_c4;\n  int local_c0;\n  byte **local_bc;\n  uint local_b8;\n  int local_b4;\n  byte **local_b0;\n  uint local_ac;\n  int local_a8;\n  int *local_a4;\n  uint local_a0;\n  byte **local_9c;\n  int local_98;\n  undefined **local_94;\n  undefined **local_90;\n  undefined1 local_81;\n  undefined1 local_80 [4];\n  int local_7c;\n  uint *local_78;\n  char local_74;\n  int local_70;\n  byte *local_6c;\n  undefined4 local_68;\n  uint local_64;\n  undefined *local_60;\n  byte *local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  byte *local_50;\n  byte *local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined *local_40;\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  bVar29 = 0;\n  local_94 = &__DT_PLTGOT;\n  local_d1 = param_7;\n  if (param_3 != 4) {\n                    \n    FUN_002446e0("../../gold/sparc.cc",0x10a1,"relocate_section");\n  }\n  local_74 = '\0';\n  local_70 = 0;\n  local_cc = (int *)param_2[2];\n  pcVar1 = *(code **)(*local_cc + 0x8c);\n  if (pcVar1 == FUN_00070d40) {\n                    \n    local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc);\n  }\n  else {\n                    \n    local_d8 = (*pcVar1)(local_cc);\n  }\n  puVar22 = auStack_ec;\n  local_c0 = 0;\n  local_b4 = 0;\n  local_e0 = local_94 + 0x1f2;\n  puVar6 = auStack_ec;\n  local_dc = local_e0;\n  if (param_5 != 0) {\n    do {\n      puVar22 = puVar6;\n      uVar9 = *param_4;\n      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      param_4 = param_4 + 3;\n      puVar6 = puVar22;\n    } while (param_5 != local_b4);\n  }\n  if (local_74 == '\0') {\n    return;\n  }\n  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n  *(undefined4 *)(puVar22 + -0x14) = 0x9f087;\n  uVar15 = gettext();\n  *(undefined4 *)(puVar22 + -0x10) = uVar15;\n  *(undefined4 *)(puVar22 + -0x14) = 0x9f08f;\n  FUN_0023b810();\n  return;\n}" { (declaration "code *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "undefined **ppuVar2;" type_identifier (pointer_declarator "**ppuVar2" * (pointer_declarator "*ppuVar2" * identifier)) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined1 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "char cVar7;" primitive_type identifier ;) (declaration "code cVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "byte *pbVar13;" type_identifier (pointer_declarator "*pbVar13" * identifier) ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "byte bVar16;" type_identifier identifier ;) (declaration "undefined **ppuVar17;" type_identifier (pointer_declarator "**ppuVar17" * (pointer_declarator "*ppuVar17" * identifier)) ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "undefined **extraout_ECX_00;" type_identifier (pointer_declarator "**extraout_ECX_00" * (pointer_declarator "*extraout_ECX_00" * identifier)) ;) (declaration "byte bVar18;" type_identifier identifier ;) (declaration "code cVar19;" type_identifier identifier ;) (declaration "undefined **ppuVar20;" type_identifier (pointer_declarator "**ppuVar20" * (pointer_declarator "*ppuVar20" * identifier)) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "undefined1 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "undefined1 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "byte bVar24;" type_identifier identifier ;) (declaration "byte *pbVar25;" type_identifier (pointer_declarator "*pbVar25" * identifier) ;) (declaration "bool bVar26;" primitive_type identifier ;) (declaration "bool bVar27;" primitive_type identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "byte bVar29;" type_identifier identifier ;) (declaration "undefined1 auStack_ec [12];" type_identifier (array_declarator "auStack_ec [12]" identifier [ number_literal ]) ;) (declaration "undefined **local_e0;" type_identifier (pointer_declarator "**local_e0" * (pointer_declarator "*local_e0" * identifier)) ;) (declaration "undefined **local_dc;" type_identifier (pointer_declarator "**local_dc" * (pointer_declarator "*local_dc" * identifier)) ;) (declaration "uint local_d8;" type_identifier identifier ;) (declaration "char local_d1;" primitive_type identifier ;) (declaration "byte **local_d0;" type_identifier (pointer_declarator "**local_d0" * (pointer_declarator "*local_d0" * identifier)) ;) (declaration "int *local_cc;" primitive_type (pointer_declarator "*local_cc" * identifier) ;) (declaration "int local_c8;" primitive_type identifier ;) (declaration "uint local_c4;" type_identifier identifier ;) (declaration "int local_c0;" primitive_type identifier ;) (declaration "byte **local_bc;" type_identifier (pointer_declarator "**local_bc" * (pointer_declarator "*local_bc" * identifier)) ;) (declaration "uint local_b8;" type_identifier identifier ;) (declaration "int local_b4;" primitive_type identifier ;) (declaration "byte **local_b0;" type_identifier (pointer_declarator "**local_b0" * (pointer_declarator "*local_b0" * identifier)) ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "int *local_a4;" primitive_type (pointer_declarator "*local_a4" * identifier) ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "byte **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 "undefined1 local_81;" type_identifier identifier ;) (declaration "undefined1 local_80 [4];" type_identifier (array_declarator "local_80 [4]" identifier [ number_literal ]) ;) (declaration "int local_7c;" primitive_type identifier ;) (declaration "uint *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "char local_74;" primitive_type identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "byte *local_6c;" type_identifier (pointer_declarator "*local_6c" * identifier) ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "uint local_64;" type_identifier identifier ;) (declaration "undefined *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "byte *local_5c;" type_identifier (pointer_declarator "*local_5c" * identifier) ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "byte *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "byte *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "undefined *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (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 "bVar29 = 0;" (assignment_expression "bVar29 = 0" identifier = number_literal) ;) (expression_statement "local_94 = &__DT_PLTGOT;" (assignment_expression "local_94 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "local_d1 = param_7;" (assignment_expression "local_d1 = param_7" identifier = identifier) ;) (if_statement "if (param_3 != 4) {\n                    \n    FUN_002446e0("../../gold/sparc.cc",0x10a1,"relocate_section");\n  }" if (parenthesized_expression "(param_3 != 4)" ( (binary_expression "param_3 != 4" identifier != number_literal) )) (compound_statement "{\n                    \n    FUN_002446e0("../../gold/sparc.cc",0x10a1,"relocate_section");\n  }" { (expression_statement "FUN_002446e0("../../gold/sparc.cc",0x10a1,"relocate_section");" (call_expression "FUN_002446e0("../../gold/sparc.cc",0x10a1,"relocate_section")" identifier (argument_list "("../../gold/sparc.cc",0x10a1,"relocate_section")" ( (string_literal ""../../gold/sparc.cc"" " string_content ") , number_literal , (string_literal ""relocate_section"" " string_content ") ))) ;) })) (expression_statement "local_74 = '\0';" (assignment_expression "local_74 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_cc = (int *)param_2[2];" (assignment_expression "local_cc = (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 "pcVar1 = *(code **)(*local_cc + 0x8c);" (assignment_expression "pcVar1 = *(code **)(*local_cc + 0x8c)" identifier = (pointer_expression "*(code **)(*local_cc + 0x8c)" * (cast_expression "(code **)(*local_cc + 0x8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_cc + 0x8c)" ( (binary_expression "*local_cc + 0x8c" (pointer_expression "*local_cc" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar1 == FUN_00070d40) {\n                    \n    local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc);\n  }\n  else {\n                    \n    local_d8 = (*pcVar1)(local_cc);\n  }" if (parenthesized_expression "(pcVar1 == FUN_00070d40)" ( (binary_expression "pcVar1 == FUN_00070d40" identifier == identifier) )) (compound_statement "{\n                    \n    local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc);\n  }" { (expression_statement "local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc);" (assignment_expression "local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc)" identifier = (call_expression "(**(code **)(*local_cc + 0xbc))(local_cc)" (parenthesized_expression "(**(code **)(*local_cc + 0xbc))" ( (pointer_expression "**(code **)(*local_cc + 0xbc)" * (pointer_expression "*(code **)(*local_cc + 0xbc)" * (cast_expression "(code **)(*local_cc + 0xbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_cc + 0xbc)" ( (binary_expression "*local_cc + 0xbc" (pointer_expression "*local_cc" * identifier) + number_literal) ))))) )) (argument_list "(local_cc)" ( identifier )))) ;) }) (else_clause "else {\n                    \n    local_d8 = (*pcVar1)(local_cc);\n  }" else (compound_statement "{\n                    \n    local_d8 = (*pcVar1)(local_cc);\n  }" { (expression_statement "local_d8 = (*pcVar1)(local_cc);" (assignment_expression "local_d8 = (*pcVar1)(local_cc)" identifier = (call_expression "(*pcVar1)(local_cc)" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "(local_cc)" ( identifier )))) ;) }))) (expression_statement "puVar22 = auStack_ec;" (assignment_expression "puVar22 = auStack_ec" identifier = identifier) ;) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" identifier = number_literal) ;) (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" identifier = number_literal) ;) (expression_statement "local_e0 = local_94 + 0x1f2;" (assignment_expression "local_e0 = local_94 + 0x1f2" identifier = (binary_expression "local_94 + 0x1f2" identifier + number_literal)) ;) (expression_statement "puVar6 = auStack_ec;" (assignment_expression "puVar6 = auStack_ec" identifier = identifier) ;) (expression_statement "local_dc = local_e0;" (assignment_expression "local_dc = local_e0" identifier = identifier) ;) (if_statement "if (param_5 != 0) {\n    do {\n      puVar22 = puVar6;\n      uVar9 = *param_4;\n      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      param_4 = param_4 + 3;\n      puVar6 = puVar22;\n    } while (param_5 != local_b4);\n  }" if (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      puVar22 = puVar6;\n      uVar9 = *param_4;\n      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      param_4 = param_4 + 3;\n      puVar6 = puVar22;\n    } while (param_5 != local_b4);\n  }" { (do_statement "do {\n      puVar22 = puVar6;\n      uVar9 = *param_4;\n      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      param_4 = param_4 + 3;\n      puVar6 = puVar22;\n    } while (param_5 != local_b4);" do (compound_statement "{\n      puVar22 = puVar6;\n      uVar9 = *param_4;\n      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      param_4 = param_4 + 3;\n      puVar6 = puVar22;\n    }" { (expression_statement "puVar22 = puVar6;" (assignment_expression "puVar22 = puVar6" identifier = identifier) ;) (expression_statement "uVar9 = *param_4;" (assignment_expression "uVar9 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (if_statement "if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }" if (parenthesized_expression "(local_d1 == '\0')" ( (binary_expression "local_d1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }" { (labeled_statement "LAB_0009cc8a:\n        uVar9 = param_4[1];" statement_identifier : (expression_statement "uVar9 = param_4[1];" (assignment_expression "uVar9 = param_4[1]" identifier = (subscript_expression "param_4[1]" identifier [ number_literal ])) ;)) (expression_statement "local_6c = (byte *)0x0;" (assignment_expression "local_6c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_68 = 0xffffffff;" (assignment_expression "local_68 = 0xffffffff" identifier = number_literal) ;) (expression_statement "uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "local_64 = 0x80000000;" (assignment_expression "local_64 = 0x80000000" identifier = number_literal) ;) (expression_statement "local_a0 = uVar9 >> 8;" (assignment_expression "local_a0 = uVar9 >> 8" identifier = (binary_expression "uVar9 >> 8" identifier >> number_literal)) ;) (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)) ;) (if_statement "if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }" if (parenthesized_expression "(local_a0 < local_d8)" ( (binary_expression "local_a0 < local_d8" identifier < identifier) )) (compound_statement "{\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }" { (if_statement "if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }" if (parenthesized_expression "((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))" ( (binary_expression "(param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0)" (parenthesized_expression "(param_11 != (int *)0x0)" ( (binary_expression "param_11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0)" ( (comma_expression "local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0" (assignment_expression "local_90 = *(undefined ***)(*param_11 + local_b4 * 4)" identifier = (pointer_expression "*(undefined ***)(*param_11 + local_b4 * 4)" * (cast_expression "(undefined ***)(*param_11 + local_b4 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*param_11 + local_b4 * 4)" ( (binary_expression "*param_11 + local_b4 * 4" (pointer_expression "*param_11" * identifier) + (binary_expression "local_b4 * 4" identifier * number_literal)) ))))) , (binary_expression "local_90 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ))) )) (compound_statement "{\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }" { (labeled_statement "LAB_0009ccec:\n            pbVar13 = local_90[4];" statement_identifier : (expression_statement "pbVar13 = local_90[4];" (assignment_expression "pbVar13 = local_90[4]" identifier = (subscript_expression "local_90[4]" identifier [ number_literal ])) ;)) (expression_statement "pbVar21 = pbVar13 + -1;" (assignment_expression "pbVar21 = pbVar13 + -1" identifier = (binary_expression "pbVar13 + -1" identifier + number_literal)) ;) (if_statement "if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;" if (parenthesized_expression "((byte *)0xfffffffd < pbVar21)" ( (binary_expression "(byte *)0xfffffffd < pbVar21" (cast_expression "(byte *)0xfffffffd" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (goto_statement "goto LAB_0009cd01;" goto statement_identifier ;)) (labeled_statement "LAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }" statement_identifier : (if_statement "if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }" if (parenthesized_expression "(pbVar21 == (byte *)0xfffffffd)" ( (binary_expression "pbVar21 == (byte *)0xfffffffd" identifier == (cast_expression "(byte *)0xfffffffd" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650dd" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x650dd" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x70d;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x70d" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f318;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f318" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) }))) (goto_statement "goto LAB_0009cd08;" goto statement_identifier ;) })) (expression_statement "local_90 = (undefined **)local_cc[0x38];" (assignment_expression "local_90 = (undefined **)local_cc[0x38]" identifier = (cast_expression "(undefined **)local_cc[0x38]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_cc[0x38]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }" if (parenthesized_expression "((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0)" ( (binary_expression "(uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0" (call_expression "(uint)((int)local_90 - local_cc[0x37] >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_90 - local_cc[0x37] >> 4)" ( (binary_expression "(int)local_90 - local_cc[0x37] >> 4" (binary_expression "(int)local_90 - local_cc[0x37]" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "local_cc[0x37]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x6509a" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x6509a" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x8c1;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x8c1" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f282;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f282" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);" (assignment_expression "local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10)" identifier = (cast_expression "(byte **)(local_cc[0x37] + local_a0 * 0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_cc[0x37] + local_a0 * 0x10)" ( (binary_expression "local_cc[0x37] + local_a0 * 0x10" (subscript_expression "local_cc[0x37]" identifier [ number_literal ]) + (binary_expression "local_a0 * 0x10" identifier * number_literal)) )))) ;) (expression_statement "local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);" (assignment_expression "local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff)" identifier = (cast_expression "(int *)((uint)local_9c[2] & 0x7ffffff)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_9c[2] & 0x7ffffff)" ( (binary_expression "(uint)local_9c[2] & 0x7ffffff" (cast_expression "(uint)local_9c[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_9c[2]" identifier [ number_literal ])) & number_literal) )))) ;) (if_statement "if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }" if (parenthesized_expression "(((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0))" ( (binary_expression "((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)" (parenthesized_expression "((*(byte *)((int)local_9c + 0xb) & 8) != 0)" ( (binary_expression "(*(byte *)((int)local_9c + 0xb) & 8) != 0" (parenthesized_expression "(*(byte *)((int)local_9c + 0xb) & 8)" ( (binary_expression "*(byte *)((int)local_9c + 0xb) & 8" (pointer_expression "*(byte *)((int)local_9c + 0xb)" * (cast_expression "(byte *)((int)local_9c + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 0xb)" ( (binary_expression "(int)local_9c + 0xb" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(local_a4 != (int *)0x0)" ( (binary_expression "local_a4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }" { (expression_statement "local_90 = (undefined **)local_cc[0xf];" (assignment_expression "local_90 = (undefined **)local_cc[0xf]" identifier = (cast_expression "(undefined **)local_cc[0xf]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_cc[0xf]" identifier [ number_literal ]))) ;) (if_statement "if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }" if (parenthesized_expression "((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4)" ( (binary_expression "(int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4" (cast_expression "(int *)((int)local_90 - local_cc[0xe] >> 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 - local_cc[0xe] >> 2)" ( (binary_expression "(int)local_90 - local_cc[0xe] >> 2" (binary_expression "(int)local_90 - local_cc[0xe]" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "local_cc[0xe]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }" { (expression_statement "*(int **)(puVar22 + -4) = local_cc;" (assignment_expression "*(int **)(puVar22 + -4) = local_cc" (pointer_expression "*(int **)(puVar22 + -4)" * (cast_expression "(int **)(puVar22 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eff" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64eff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x50b;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x50b" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f42b;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f42b" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);" (assignment_expression "local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4)" identifier = (pointer_expression "*(undefined ***)(local_cc[0xe] + (int)local_a4 * 4)" * (cast_expression "(undefined ***)(local_cc[0xe] + (int)local_a4 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(local_cc[0xe] + (int)local_a4 * 4)" ( (binary_expression "local_cc[0xe] + (int)local_a4 * 4" (subscript_expression "local_cc[0xe]" identifier [ number_literal ]) + (binary_expression "(int)local_a4 * 4" (cast_expression "(int)local_a4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (if_statement "if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }" if (parenthesized_expression "(local_90 != (undefined **)0x0)" ( (binary_expression "local_90 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }" { (expression_statement "local_90 = (undefined **)0x0;" (assignment_expression "local_90 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (goto_statement "goto LAB_0009cd80;" goto statement_identifier ;) })) (expression_statement "*(int **)(puVar22 + -8) = local_a4;" (assignment_expression "*(int **)(puVar22 + -8) = local_a4" (pointer_expression "*(int **)(puVar22 + -8)" * (cast_expression "(int **)(puVar22 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar22 + -0xc) = local_cc;" (assignment_expression "*(int **)(puVar22 + -0xc) = local_cc" (pointer_expression "*(int **)(puVar22 + -0xc)" * (cast_expression "(int **)(puVar22 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = *param_2;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = *param_2" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9e2da;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9e2da" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_0034cd20();" (assignment_expression "cVar7 = FUN_0034cd20()" identifier = (call_expression "FUN_0034cd20()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }" if (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }" { (expression_statement "uVar9 = param_4[1] >> 0x18;" (assignment_expression "uVar9 = param_4[1] >> 0x18" identifier = (binary_expression "param_4[1] >> 0x18" (subscript_expression "param_4[1]" identifier [ number_literal ]) >> number_literal)) ;) (goto_statement "goto LAB_0009cd80;" goto statement_identifier ;) })) (goto_statement "goto LAB_0009d9f1;" goto statement_identifier ;) })) (expression_statement "local_90 = (undefined **)0x0;" (assignment_expression "local_90 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (labeled_statement "LAB_0009cd80:\n          local_bc = &local_6c;" statement_identifier : (expression_statement "local_bc = &local_6c;" (assignment_expression "local_bc = &local_6c" identifier = (pointer_expression "&local_6c" & identifier)) ;)) (expression_statement "local_5c = (byte *)0x0;" (assignment_expression "local_5c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_58 = 0xffffffff;" (assignment_expression "local_58 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_54 = 0x80000000;" (assignment_expression "local_54 = 0x80000000" identifier = number_literal) ;) (expression_statement "local_50 = (byte *)0x0;" (assignment_expression "local_50 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }" else (compound_statement "{\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }" { (if_statement "if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;" if (parenthesized_expression "((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))" ( (binary_expression "(param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0)" (parenthesized_expression "(param_11 != (int *)0x0)" ( (binary_expression "param_11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0)" ( (comma_expression "local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0" (assignment_expression "local_90 = *(undefined ***)(*param_11 + local_b4 * 4)" identifier = (pointer_expression "*(undefined ***)(*param_11 + local_b4 * 4)" * (cast_expression "(undefined ***)(*param_11 + local_b4 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*param_11 + local_b4 * 4)" ( (binary_expression "*param_11 + local_b4 * 4" (pointer_expression "*param_11" * identifier) + (binary_expression "local_b4 * 4" identifier * number_literal)) ))))) , (binary_expression "local_90 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ))) )) (goto_statement "goto LAB_0009ccec;" goto statement_identifier ;)) (if_statement "if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }" if (parenthesized_expression "(local_a0 < (uint)local_cc[0x2c])" ( (binary_expression "local_a0 < (uint)local_cc[0x2c]" identifier < (cast_expression "(uint)local_cc[0x2c]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_cc[0x2c]" identifier [ number_literal ]))) )) (compound_statement "{\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }" { (labeled_statement "LAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;" statement_identifier : (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650d7" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x650d7" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x17f;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x17f" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cb27" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f261;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f261" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar9 = local_a0 - local_cc[0x2c];" (assignment_expression "uVar9 = local_a0 - local_cc[0x2c]" identifier = (binary_expression "local_a0 - local_cc[0x2c]" identifier - (subscript_expression "local_cc[0x2c]" identifier [ number_literal ]))) ;) (expression_statement "local_90 = (undefined **)local_cc[0x30];" (assignment_expression "local_90 = (undefined **)local_cc[0x30]" identifier = (cast_expression "(undefined **)local_cc[0x30]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_cc[0x30]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }" if (parenthesized_expression "((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9)" ( (binary_expression "(uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9" (call_expression "(uint)((int)local_90 - local_cc[0x2f] >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_90 - local_cc[0x2f] >> 2)" ( (binary_expression "(int)local_90 - local_cc[0x2f] >> 2" (binary_expression "(int)local_90 - local_cc[0x2f]" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "local_cc[0x2f]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x65096;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x65096" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x65096" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x8ad;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x8ad" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f2a3" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);" (assignment_expression "local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4)" identifier = (pointer_expression "*(undefined ***)(local_cc[0x2f] + uVar9 * 4)" * (cast_expression "(undefined ***)(local_cc[0x2f] + uVar9 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(local_cc[0x2f] + uVar9 * 4)" ( (binary_expression "local_cc[0x2f] + uVar9 * 4" (subscript_expression "local_cc[0x2f]" identifier [ number_literal ]) + (binary_expression "uVar9 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (local_90 == (undefined **)0x0) goto LAB_0009f240;" if (parenthesized_expression "(local_90 == (undefined **)0x0)" ( (binary_expression "local_90 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0009f240;" goto statement_identifier ;)) (if_statement "if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;" if (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2a) & 0x10)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2a) & 0x10" (binary_expression "(byte)*(code *)((int)local_90 + 0x2a)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009ccec;" goto statement_identifier ;)) (expression_statement "*(undefined ***)(puVar22 + -0xc) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0xc) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0xc)" * (cast_expression "(undefined ***)(puVar22 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = *param_2;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = *param_2" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9e0cb" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_90 = (undefined **)FUN_0034cd90();" (assignment_expression "local_90 = (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 "pbVar13 = local_90[4];" (assignment_expression "pbVar13 = local_90[4]" identifier = (subscript_expression "local_90[4]" identifier [ number_literal ])) ;) (expression_statement "pbVar21 = pbVar13 + -1;" (assignment_expression "pbVar21 = pbVar13 + -1" identifier = (binary_expression "pbVar13 + -1" identifier + number_literal)) ;) (if_statement "if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }" if (parenthesized_expression "(pbVar21 < (byte *)0xfffffffe)" ( (binary_expression "pbVar21 < (byte *)0xfffffffe" identifier < (cast_expression "(byte *)0xfffffffe" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }" { (if_statement "if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }" if (parenthesized_expression "((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe))" ( (binary_expression "(local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)" (parenthesized_expression "(local_6c != (byte *)0x0)" ( (binary_expression "local_6c != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_6c != (byte *)0xfffffffe)" ( (binary_expression "local_6c != (byte *)0xfffffffe" identifier != (cast_expression "(byte *)0xfffffffe" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650dd" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x650dd" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x70c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x70c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f155;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f155" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_0009e020;" goto statement_identifier ;) })) (if_statement "if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }" if (parenthesized_expression "(local_6c != (byte *)0x0)" ( (binary_expression "local_6c != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e4" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x650e4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x716;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x716" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9e10f;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9e10f" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_0009cd01:\n          local_6c = (byte *)0xffffffff;" statement_identifier : (expression_statement "local_6c = (byte *)0xffffffff;" (assignment_expression "local_6c = (byte *)0xffffffff" identifier = (cast_expression "(byte *)0xffffffff" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pbVar13 = local_6c;" (assignment_expression "pbVar13 = local_6c" identifier = identifier) ;) (labeled_statement "LAB_0009cd08:\n          local_6c = pbVar13;" statement_identifier : (expression_statement "local_6c = pbVar13;" (assignment_expression "local_6c = pbVar13" identifier = identifier) ;)) (expression_statement "local_60 = local_90[0xc];" (assignment_expression "local_60 = local_90[0xc]" identifier = (subscript_expression "local_90[0xc]" identifier [ number_literal ])) ;) (if_statement "if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }" if (parenthesized_expression "(((byte)*(code *)(local_90 + 10) & 0xf) == 6)" ( (binary_expression "((byte)*(code *)(local_90 + 10) & 0xf) == 6" (parenthesized_expression "((byte)*(code *)(local_90 + 10) & 0xf)" ( (binary_expression "(byte)*(code *)(local_90 + 10) & 0xf" (binary_expression "(byte)*(code *)(local_90 + 10)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)(local_90 + 10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 10)" ( (binary_expression "local_90 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_64 = local_64 | 0x20000000;\n          }" { (expression_statement "local_64 = local_64 | 0x20000000;" (assignment_expression "local_64 = local_64 | 0x20000000" identifier = (binary_expression "local_64 | 0x20000000" identifier | number_literal)) ;) }) (else_clause "else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }" else (if_statement "if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }" if (parenthesized_expression "(((byte)*(code *)(local_90 + 10) & 0xf) == 10)" ( (binary_expression "((byte)*(code *)(local_90 + 10) & 0xf) == 10" (parenthesized_expression "((byte)*(code *)(local_90 + 10) & 0xf)" ( (binary_expression "(byte)*(code *)(local_90 + 10) & 0xf" (binary_expression "(byte)*(code *)(local_90 + 10)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)(local_90 + 10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 10)" ( (binary_expression "local_90 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_64 = local_64 | 0x40000000;\n          }" { (expression_statement "local_64 = local_64 | 0x40000000;" (assignment_expression "local_64 = local_64 | 0x40000000" identifier = (binary_expression "local_64 | 0x40000000" identifier | number_literal)) ;) })))) (if_statement "if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }" if (parenthesized_expression "(-1 < (char)*(code *)((int)local_90 + 0x2b))" ( (binary_expression "-1 < (char)*(code *)((int)local_90 + 0x2b)" number_literal < (cast_expression "(char)*(code *)((int)local_90 + 0x2b)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(code *)((int)local_90 + 0x2b)" * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) )) (compound_statement "{\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }" { (labeled_statement "LAB_0009d9b8:\n            local_9c = &local_6c;" statement_identifier : (expression_statement "local_9c = &local_6c;" (assignment_expression "local_9c = &local_6c" identifier = (pointer_expression "&local_6c" & identifier)) ;)) (expression_statement "uVar9 = param_4[1] >> 0x18;" (assignment_expression "uVar9 = param_4[1] >> 0x18" identifier = (binary_expression "param_4[1] >> 0x18" (subscript_expression "param_4[1]" identifier [ number_literal ]) >> number_literal)) ;) (goto_statement "goto LAB_0009cd80;" goto statement_identifier ;) })) (if_statement "if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;" if (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2a) & 7" (binary_expression "(byte)*(code *)((int)local_90 + 0x2a)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }" { (if_statement "if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }" if (parenthesized_expression "((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0))" ( (binary_expression "(local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" (parenthesized_expression "(local_90[3] != (undefined *)0x0)" ( (binary_expression "local_90[3] != (undefined *)0x0" (subscript_expression "local_90[3]" identifier [ number_literal ]) != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 0x20" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }" { (expression_statement "local_9c = &local_6c;" (assignment_expression "local_9c = &local_6c" identifier = (pointer_expression "&local_6c" & identifier)) ;) (expression_statement "uVar9 = param_4[1] >> 0x18;" (assignment_expression "uVar9 = param_4[1] >> 0x18" identifier = (binary_expression "param_4[1] >> 0x18" (subscript_expression "param_4[1]" identifier [ number_literal ]) >> number_literal)) ;) (goto_statement "goto LAB_0009cd80;" goto statement_identifier ;) })) }) (else_clause "else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;" else (if_statement "if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;" if (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2a) & 7" (binary_expression "(byte)*(code *)((int)local_90 + 0x2a)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009d9b8;" goto statement_identifier ;)))) (expression_statement "local_a4 = (int *)0x0;" (assignment_expression "local_a4 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_9c = &local_6c;" (assignment_expression "local_9c = &local_6c" identifier = (pointer_expression "&local_6c" & identifier)) ;) (labeled_statement "LAB_0009d9f1:\n          local_bc = &local_6c;" statement_identifier : (expression_statement "local_bc = &local_6c;" (assignment_expression "local_bc = &local_6c" identifier = (pointer_expression "&local_6c" & identifier)) ;)) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "local_5c = (byte *)0x0;" (assignment_expression "local_5c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = *local_cc;" (assignment_expression "iVar11 = *local_cc" identifier = (pointer_expression "*local_cc" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar22 + -8) = param_2[6];" (assignment_expression "*(undefined4 *)(puVar22 + -8) = param_2[6]" (pointer_expression "*(undefined4 *)(puVar22 + -8)" * (cast_expression "(undefined4 *)(puVar22 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (subscript_expression "param_2[6]" identifier [ number_literal ])) ;) (expression_statement "*(int **)(puVar22 + -0xc) = local_cc;" (assignment_expression "*(int **)(puVar22 + -0xc) = local_cc" (pointer_expression "*(int **)(puVar22 + -0xc)" * (cast_expression "(int **)(puVar22 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_d0 = &local_5c;" (assignment_expression "local_d0 = &local_5c" identifier = (pointer_expression "&local_5c" & identifier)) ;) (expression_statement "local_58 = 0xffffffff;" (assignment_expression "local_58 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_54 = 0x80000000;" (assignment_expression "local_54 = 0x80000000" identifier = number_literal) ;) (expression_statement "local_50 = (byte *)0x0;" (assignment_expression "local_50 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(byte ***)(puVar22 + -0x10) = local_b0;" (assignment_expression "*(byte ***)(puVar22 + -0x10) = local_b0" (pointer_expression "*(byte ***)(puVar22 + -0x10)" * (cast_expression "(byte ***)(puVar22 + -0x10)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar1 = *(code **)(iVar11 + 0x40);" (assignment_expression "pcVar1 = *(code **)(iVar11 + 0x40)" identifier = (pointer_expression "*(code **)(iVar11 + 0x40)" * (cast_expression "(code **)(iVar11 + 0x40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x40)" ( (binary_expression "iVar11 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9da35;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9da35" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar1)();" (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar23 = puVar22 + -4;" (assignment_expression "puVar23 = puVar22 + -4" identifier = (binary_expression "puVar22 + -4" identifier + number_literal)) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar28 = local_c0 == 0;" (assignment_expression "bVar28 = local_c0 == 0" identifier = (binary_expression "local_c0 == 0" identifier == number_literal)) ;) (if_statement "if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }" if (parenthesized_expression "(bVar28)" ( identifier )) (compound_statement "{\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }" { (expression_statement "iVar11 = 6;" (assignment_expression "iVar11 = 6" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" identifier = identifier) ;) (expression_statement "pbVar13 = (byte *)((int)local_94 + -0x19cac3);" (assignment_expression "pbVar13 = (byte *)((int)local_94 + -0x19cac3)" identifier = (cast_expression "(byte *)((int)local_94 + -0x19cac3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x19cac3)" ( (binary_expression "(int)local_94 + -0x19cac3" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);" do (compound_statement "{\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar21 < *pbVar13;" (assignment_expression "bVar26 = *pbVar21 < *pbVar13" identifier = (binary_expression "*pbVar21 < *pbVar13" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "bVar28 = *pbVar21 == *pbVar13;" (assignment_expression "bVar28 = *pbVar21 == *pbVar13" identifier = (binary_expression "*pbVar21 == *pbVar13" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar28)" ( identifier )) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar26 && !bVar28) == bVar26;" (assignment_expression "bVar26 = (!bVar26 && !bVar28) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar28) == bVar26" (parenthesized_expression "(!bVar26 && !bVar28)" ( (binary_expression "!bVar26 && !bVar28" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar28" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }" { (expression_statement "iVar11 = 7;" (assignment_expression "iVar11 = 7" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" identifier = identifier) ;) (expression_statement "ppuVar17 = local_94 + -0x672af;" (assignment_expression "ppuVar17 = local_94 + -0x672af" identifier = (binary_expression "local_94 + -0x672af" identifier + number_literal)) ;) (do_statement "do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);" do (compound_statement "{\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar21 < *(byte *)ppuVar17;" (assignment_expression "bVar27 = *pbVar21 < *(byte *)ppuVar17" identifier = (binary_expression "*pbVar21 < *(byte *)ppuVar17" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*(byte *)ppuVar17" * (cast_expression "(byte *)ppuVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar26 = *pbVar21 == *(byte *)ppuVar17;" (assignment_expression "bVar26 = *pbVar21 == *(byte *)ppuVar17" identifier = (binary_expression "*pbVar21 == *(byte *)ppuVar17" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*(byte *)ppuVar17" * (cast_expression "(byte *)ppuVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);" (assignment_expression "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar17 + (uint)bVar29 * -2 + 1)" ( (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2 + 1" (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2" (cast_expression "(int)ppuVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar27 && !bVar26) == bVar27;" (assignment_expression "bVar26 = (!bVar27 && !bVar26) == bVar27" identifier = (binary_expression "(!bVar27 && !bVar26) == bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" ( (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "iVar11 = 0x11;" (assignment_expression "iVar11 = 0x11" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" identifier = identifier) ;) (expression_statement "ppuVar17 = local_94 + -0x672ad;" (assignment_expression "ppuVar17 = local_94 + -0x672ad" identifier = (binary_expression "local_94 + -0x672ad" identifier + number_literal)) ;) (do_statement "do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);" do (compound_statement "{\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar21 < *(byte *)ppuVar17;" (assignment_expression "bVar28 = *pbVar21 < *(byte *)ppuVar17" identifier = (binary_expression "*pbVar21 < *(byte *)ppuVar17" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*(byte *)ppuVar17" * (cast_expression "(byte *)ppuVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar26 = *pbVar21 == *(byte *)ppuVar17;" (assignment_expression "bVar26 = *pbVar21 == *(byte *)ppuVar17" identifier = (binary_expression "*pbVar21 == *(byte *)ppuVar17" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*(byte *)ppuVar17" * (cast_expression "(byte *)ppuVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);" (assignment_expression "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar17 + (uint)bVar29 * -2 + 1)" ( (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2 + 1" (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2" (cast_expression "(int)ppuVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar28 && !bVar26) == bVar28;" (assignment_expression "bVar26 = (!bVar28 && !bVar26) == bVar28" identifier = (binary_expression "(!bVar28 && !bVar26) == bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" ( (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }" { (expression_statement "iVar11 = 5;" (assignment_expression "iVar11 = 5" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" identifier = identifier) ;) (expression_statement "pbVar13 = (byte *)((int)local_94 + -0x19caa2);" (assignment_expression "pbVar13 = (byte *)((int)local_94 + -0x19caa2)" identifier = (cast_expression "(byte *)((int)local_94 + -0x19caa2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x19caa2)" ( (binary_expression "(int)local_94 + -0x19caa2" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);" do (compound_statement "{\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar21 < *pbVar13;" (assignment_expression "bVar27 = *pbVar21 < *pbVar13" identifier = (binary_expression "*pbVar21 < *pbVar13" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "bVar26 = *pbVar21 == *pbVar13;" (assignment_expression "bVar26 = *pbVar21 == *pbVar13" identifier = (binary_expression "*pbVar21 == *pbVar13" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar27 && !bVar26) == bVar27;" (assignment_expression "bVar26 = (!bVar27 && !bVar26) == bVar27" identifier = (binary_expression "(!bVar27 && !bVar26) == bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" ( (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }" { (expression_statement "iVar11 = 5;" (assignment_expression "iVar11 = 5" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" identifier = identifier) ;) (expression_statement "ppuVar17 = local_94 + -0x672a7;" (assignment_expression "ppuVar17 = local_94 + -0x672a7" identifier = (binary_expression "local_94 + -0x672a7" identifier + number_literal)) ;) (do_statement "do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);" do (compound_statement "{\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar21 < *(byte *)ppuVar17;" (assignment_expression "bVar28 = *pbVar21 < *(byte *)ppuVar17" identifier = (binary_expression "*pbVar21 < *(byte *)ppuVar17" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*(byte *)ppuVar17" * (cast_expression "(byte *)ppuVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar26 = *pbVar21 == *(byte *)ppuVar17;" (assignment_expression "bVar26 = *pbVar21 == *(byte *)ppuVar17" identifier = (binary_expression "*pbVar21 == *(byte *)ppuVar17" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*(byte *)ppuVar17" * (cast_expression "(byte *)ppuVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);" (assignment_expression "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar17 + (uint)bVar29 * -2 + 1)" ( (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2 + 1" (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2" (cast_expression "(int)ppuVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar28 && !bVar26) == bVar28;" (assignment_expression "bVar26 = (!bVar28 && !bVar26) == bVar28" identifier = (binary_expression "(!bVar28 && !bVar26) == bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" ( (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }" { (expression_statement "iVar11 = 4;" (assignment_expression "iVar11 = 4" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" identifier = identifier) ;) (expression_statement "pbVar13 = (byte *)((int)local_94 + -0x19ca96);" (assignment_expression "pbVar13 = (byte *)((int)local_94 + -0x19ca96)" identifier = (cast_expression "(byte *)((int)local_94 + -0x19ca96)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x19ca96)" ( (binary_expression "(int)local_94 + -0x19ca96" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);" do (compound_statement "{\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar21 < *pbVar13;" (assignment_expression "bVar27 = *pbVar21 < *pbVar13" identifier = (binary_expression "*pbVar21 < *pbVar13" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "bVar26 = *pbVar21 == *pbVar13;" (assignment_expression "bVar26 = *pbVar21 == *pbVar13" identifier = (binary_expression "*pbVar21 == *pbVar13" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar27 && !bVar26) == bVar27;" (assignment_expression "bVar26 = (!bVar27 && !bVar26) == bVar27" identifier = (binary_expression "(!bVar27 && !bVar26) == bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" ( (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }" { (expression_statement "iVar11 = 10;" (assignment_expression "iVar11 = 10" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" identifier = identifier) ;) (expression_statement "pbVar13 = (byte *)((int)local_94 + -0x19a212);" (assignment_expression "pbVar13 = (byte *)((int)local_94 + -0x19a212)" identifier = (cast_expression "(byte *)((int)local_94 + -0x19a212)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x19a212)" ( (binary_expression "(int)local_94 + -0x19a212" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);" do (compound_statement "{\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar21 < *pbVar13;" (assignment_expression "bVar28 = *pbVar21 < *pbVar13" identifier = (binary_expression "*pbVar21 < *pbVar13" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "bVar26 = *pbVar21 == *pbVar13;" (assignment_expression "bVar26 = *pbVar21 == *pbVar13" identifier = (binary_expression "*pbVar21 == *pbVar13" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar28 && !bVar26) == bVar28;" (assignment_expression "bVar26 = (!bVar28 && !bVar26) == bVar28" identifier = (binary_expression "(!bVar28 && !bVar26) == bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" ( (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }" { (expression_statement "iVar11 = 0x12;" (assignment_expression "iVar11 = 0x12" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" identifier = identifier) ;) (expression_statement "pbVar13 = (byte *)((int)local_94 + -0x19ca91);" (assignment_expression "pbVar13 = (byte *)((int)local_94 + -0x19ca91)" identifier = (cast_expression "(byte *)((int)local_94 + -0x19ca91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x19ca91)" ( (binary_expression "(int)local_94 + -0x19ca91" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);" do (compound_statement "{\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar21 < *pbVar13;" (assignment_expression "bVar27 = *pbVar21 < *pbVar13" identifier = (binary_expression "*pbVar21 < *pbVar13" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "bVar26 = *pbVar21 == *pbVar13;" (assignment_expression "bVar26 = *pbVar21 == *pbVar13" identifier = (binary_expression "*pbVar21 == *pbVar13" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (if_statement "if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;" if (parenthesized_expression "((!bVar27 && !bVar26) != bVar27)" ( (binary_expression "(!bVar27 && !bVar26) != bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" ( (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_0009dbca;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0009dc9a;" goto statement_identifier ;) })) })) })) })) })) })) (labeled_statement "LAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;" statement_identifier : (expression_statement "*(undefined1 ***)(puVar22 + -8) = local_34;" (assignment_expression "*(undefined1 ***)(puVar22 + -8) = local_34" (pointer_expression "*(undefined1 ***)(puVar22 + -8)" * (cast_expression "(undefined1 ***)(puVar22 + -8)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(byte ***)(puVar22 + -0xc) = local_b0;" (assignment_expression "*(byte ***)(puVar22 + -0xc) = local_b0" (pointer_expression "*(byte ***)(puVar22 + -0xc)" * (cast_expression "(byte ***)(puVar22 + -0xc)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar22 + -0x10) = local_a4;" (assignment_expression "*(int **)(puVar22 + -0x10) = local_a4" (pointer_expression "*(int **)(puVar22 + -0x10)" * (cast_expression "(int **)(puVar22 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar22 + -0x14) = local_cc;" (assignment_expression "*(int **)(puVar22 + -0x14) = local_cc" (pointer_expression "*(int **)(puVar22 + -0x14)" * (cast_expression "(int **)(puVar22 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x18) = 0x9da8d;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = 0x9da8d" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" * (cast_expression "(undefined4 *)(puVar22 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar11 = FUN_00290ed0();" (assignment_expression "iVar11 = FUN_00290ed0()" identifier = (call_expression "FUN_00290ed0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_50 = (byte *)0x0;" (assignment_expression "local_50 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\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_50 = local_9c[3] + iVar11;\n            }" { (expression_statement "local_50 = local_9c[3] + iVar11;" (assignment_expression "local_50 = local_9c[3] + iVar11" identifier = (binary_expression "local_9c[3] + iVar11" (subscript_expression "local_9c[3]" identifier [ number_literal ]) + identifier)) ;) })) (expression_statement "local_c0 = 1;" (assignment_expression "local_c0 = 1" identifier = number_literal) ;) (expression_statement "puVar22 = puVar22 + -4;" (assignment_expression "puVar22 = puVar22 + -4" identifier = (binary_expression "puVar22 + -4" identifier + number_literal)) ;) }) (else_clause "else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }" else (compound_statement "{\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }" { (if_statement "if (local_c0 == 1) goto LAB_0009da6c;" if (parenthesized_expression "(local_c0 == 1)" ( (binary_expression "local_c0 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0009da6c;" goto statement_identifier ;)) (if_statement "if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }" if (parenthesized_expression "(local_c0 == 3)" ( (binary_expression "local_c0 == 3" identifier == number_literal) )) (compound_statement "{\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }" { (labeled_statement "LAB_0009dbca:\n              uVar15 = param_2[2];" statement_identifier : (expression_statement "uVar15 = param_2[2];" (assignment_expression "uVar15 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;)) (if_statement "if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }" if (parenthesized_expression "(local_90 == (undefined **)0x0)" ( (binary_expression "local_90 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }" { (expression_statement "*(uint *)(puVar22 + -0x10) = local_a0;" (assignment_expression "*(uint *)(puVar22 + -0x10) = local_a0" (pointer_expression "*(uint *)(puVar22 + -0x10)" * (cast_expression "(uint *)(puVar22 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x18) = 0x9e225;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = 0x9e225" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" * (cast_expression "(undefined4 *)(puVar22 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar10 = FUN_00297920();" (assignment_expression "uVar10 = FUN_00297920()" identifier = (call_expression "FUN_00297920()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;" (assignment_expression "*(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa" (pointer_expression "*(undefined ***)(puVar22 + -0x14)" * (cast_expression "(undefined ***)(puVar22 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = (binary_expression "local_94 + -0x671fa" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x18) = 0x9e23d;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = 0x9e23d" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" * (cast_expression "(undefined4 *)(puVar22 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar14 = gettext();" (assignment_expression "uVar14 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)(puVar22 + -0xc) = local_a0;" (assignment_expression "*(uint *)(puVar22 + -0xc) = local_a0" (pointer_expression "*(uint *)(puVar22 + -0xc)" * (cast_expression "(uint *)(puVar22 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar10;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar10" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = uVar14;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = uVar14" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;" (assignment_expression "*(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f" (pointer_expression "*(int *)(puVar22 + -0x18)" * (cast_expression "(int *)(puVar22 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = (binary_expression "(int)local_c4 >> 0x1f" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)(puVar22 + -0x1c) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -0x1c) = local_c4" (pointer_expression "*(uint *)(puVar22 + -0x1c)" * (cast_expression "(uint *)(puVar22 + -0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -0x20) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x20) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x20)" * (cast_expression "(int *)(puVar22 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x20)" ( (binary_expression "puVar22 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar22 + -0x24) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x24) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x24)" * (cast_expression "(undefined4 **)(puVar22 + -0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x24)" ( (binary_expression "puVar22 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x28) = 0x9e265;" (assignment_expression "*(undefined4 *)(puVar22 + -0x28) = 0x9e265" (pointer_expression "*(undefined4 *)(puVar22 + -0x28)" * (cast_expression "(undefined4 *)(puVar22 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x28)" ( (binary_expression "puVar22 + -0x28" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023be30();" (call_expression "FUN_0023be30()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar23 = puVar22 + -4;" (assignment_expression "puVar23 = puVar22 + -4" identifier = (binary_expression "puVar22 + -4" identifier + number_literal)) ;) }) (else_clause "else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }" else (compound_statement "{\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 ***)(puVar22 + -0x14) = local_34;" (assignment_expression "*(undefined1 ***)(puVar22 + -0x14) = local_34" (pointer_expression "*(undefined1 ***)(puVar22 + -0x14)" * (cast_expression "(undefined1 ***)(puVar22 + -0x14)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = 0x9dbf6" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" * (cast_expression "(undefined4 *)(puVar22 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0034dd40();" (call_expression "FUN_0034dd40()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar6 = local_34[0];" (assignment_expression "puVar6 = local_34[0]" identifier = (subscript_expression "local_34[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;" (assignment_expression "*(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4" (pointer_expression "*(undefined ***)(puVar22 + -0x18)" * (cast_expression "(undefined ***)(puVar22 + -0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = (binary_expression "local_94 + -0x671e4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;" (assignment_expression "*(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d" (pointer_expression "*(undefined4 *)(puVar22 + -0x1c)" * (cast_expression "(undefined4 *)(puVar22 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar10 = gettext();" (assignment_expression "uVar10 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined1 **)(puVar22 + -0x14) = puVar6;" (assignment_expression "*(undefined1 **)(puVar22 + -0x14) = puVar6" (pointer_expression "*(undefined1 **)(puVar22 + -0x14)" * (cast_expression "(undefined1 **)(puVar22 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x18) = uVar10;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = uVar10" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" * (cast_expression "(undefined4 *)(puVar22 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;" (assignment_expression "*(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f" (pointer_expression "*(int *)(puVar22 + -0x1c)" * (cast_expression "(int *)(puVar22 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = (binary_expression "(int)local_c4 >> 0x1f" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)(puVar22 + -0x20) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -0x20) = local_c4" (pointer_expression "*(uint *)(puVar22 + -0x20)" * (cast_expression "(uint *)(puVar22 + -0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x20)" ( (binary_expression "puVar22 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -0x24) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x24) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x24)" * (cast_expression "(int *)(puVar22 + -0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x24)" ( (binary_expression "puVar22 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar22 + -0x28) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x28) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x28)" * (cast_expression "(undefined4 **)(puVar22 + -0x28)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x28)" ( (binary_expression "puVar22 + -0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;" (assignment_expression "*(undefined4 *)(puVar22 + -0x2c) = 0x9dc30" (pointer_expression "*(undefined4 *)(puVar22 + -0x2c)" * (cast_expression "(undefined4 *)(puVar22 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x2c)" ( (binary_expression "puVar22 + -0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023be30();" (call_expression "FUN_0023be30()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar23 = puVar22 + -8;" (assignment_expression "puVar23 = puVar22 + -8" identifier = (binary_expression "puVar22 + -8" identifier + number_literal)) ;) (if_statement "if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -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 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }" { (expression_statement "*(undefined1 **)(puVar22 + -0x18) = local_34[0];" (assignment_expression "*(undefined1 **)(puVar22 + -0x18) = local_34[0]" (pointer_expression "*(undefined1 **)(puVar22 + -0x18)" * (cast_expression "(undefined1 **)(puVar22 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = (subscript_expression "local_34[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;" (assignment_expression "*(undefined4 *)(puVar22 + -0x1c) = 0x9dc46" (pointer_expression "*(undefined4 *)(puVar22 + -0x1c)" * (cast_expression "(undefined4 *)(puVar22 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar23 = puVar22 + -8;" (assignment_expression "puVar23 = puVar22 + -8" identifier = (binary_expression "puVar22 + -8" identifier + number_literal)) ;) })) }))) (expression_statement "*(undefined1 **)(puVar23 + -4) = &local_81;" (assignment_expression "*(undefined1 **)(puVar23 + -4) = &local_81" (pointer_expression "*(undefined1 **)(puVar23 + -4)" * (cast_expression "(undefined1 **)(puVar23 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -4)" ( (binary_expression "puVar23 + -4" identifier + number_literal) )))) = (pointer_expression "&local_81" & identifier)) ;) (expression_statement "*(undefined1 **)(puVar23 + -8) = local_80;" (assignment_expression "*(undefined1 **)(puVar23 + -8) = local_80" (pointer_expression "*(undefined1 **)(puVar23 + -8)" * (cast_expression "(undefined1 **)(puVar23 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar23 + -0xc) = local_a0;" (assignment_expression "*(uint *)(puVar23 + -0xc) = local_a0" (pointer_expression "*(uint *)(puVar23 + -0xc)" * (cast_expression "(uint *)(puVar23 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9dc63;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9dc63" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar11 = FUN_00296fa0();" (assignment_expression "iVar11 = FUN_00296fa0()" identifier = (call_expression "FUN_00296fa0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }" { (expression_statement "*(int **)(puVar23 + -8) = &local_7c;" (assignment_expression "*(int **)(puVar23 + -8) = &local_7c" (pointer_expression "*(int **)(puVar23 + -8)" * (cast_expression "(int **)(puVar23 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = (pointer_expression "&local_7c" & identifier)) ;) (expression_statement "*(int *)(puVar23 + -0xc) = iVar11;" (assignment_expression "*(int *)(puVar23 + -0xc) = iVar11" (pointer_expression "*(int *)(puVar23 + -0xc)" * (cast_expression "(int *)(puVar23 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9e18c;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9e18c" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar11 = FUN_00291140();" (assignment_expression "iVar11 = FUN_00291140()" identifier = (call_expression "FUN_00291140()" identifier (argument_list "()" ( )))) ;) (if_statement "if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }" if (parenthesized_expression "(local_7c != 0)" ( (binary_expression "local_7c != 0" identifier != number_literal) )) (compound_statement "{\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }" { (expression_statement "*(int *)(puVar23 + -0xc) = local_7c;" (assignment_expression "*(int *)(puVar23 + -0xc) = local_7c" (pointer_expression "*(int *)(puVar23 + -0xc)" * (cast_expression "(int *)(puVar23 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9f038;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9f038" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = FUN_00297920();" (assignment_expression "uVar15 = FUN_00297920()" identifier = (call_expression "FUN_00297920()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;" (assignment_expression "*(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf" (pointer_expression "*(undefined ***)(puVar23 + -0x10)" * (cast_expression "(undefined ***)(puVar23 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = (binary_expression "local_94 + -0x671cf" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9f050;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9f050" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar10 = gettext();" (assignment_expression "uVar10 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar23 + -0xc) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0xc) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0xc)" * (cast_expression "(undefined4 *)(puVar23 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = uVar10;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = uVar10" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9f05f;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9f05f" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b870();" (call_expression "FUN_0023b870()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }" { (expression_statement "uVar15 = *(undefined4 *)(iVar11 + 4);" (assignment_expression "uVar15 = *(undefined4 *)(iVar11 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 4)" * (cast_expression "(undefined4 *)(iVar11 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 4)" ( (binary_expression "iVar11 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;" (assignment_expression "*(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7" (pointer_expression "*(undefined ***)(puVar23 + -0x10)" * (cast_expression "(undefined ***)(puVar23 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = (binary_expression "local_94 + -0x671c7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9e1be;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9e1be" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar10 = gettext();" (assignment_expression "uVar10 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar23 + -0xc) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0xc) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0xc)" * (cast_expression "(undefined4 *)(puVar23 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = uVar10;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = uVar10" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9e1c7" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b870();" (call_expression "FUN_0023b870()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "local_c0 = 3;" (assignment_expression "local_c0 = 3" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }" else (compound_statement "{\nLAB_0009dc9a:\n              local_c0 = 2;\n            }" { (labeled_statement "LAB_0009dc9a:\n              local_c0 = 2;" statement_identifier : (expression_statement "local_c0 = 2;" (assignment_expression "local_c0 = 2" identifier = number_literal) ;)) }))) (expression_statement "local_50 = (byte *)0x0;" (assignment_expression "local_50 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar22 = puVar23;" (assignment_expression "puVar22 = puVar23" identifier = identifier) ;) }))) (if_statement "if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }" if (parenthesized_expression "(local_5c != (byte *)0x0)" ( (binary_expression "local_5c != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e4" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x650e4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x716;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x716" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar22 + -0x14) = &UNK_0009f212;" (assignment_expression "*(undefined **)(puVar22 + -0x14) = &UNK_0009f212" (pointer_expression "*(undefined **)(puVar22 + -0x14)" * (cast_expression "(undefined **)(puVar22 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0009f212" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_5c = (byte *)0xffffffff;" (assignment_expression "local_5c = (byte *)0xffffffff" identifier = (cast_expression "(byte *)0xffffffff" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }" if (parenthesized_expression "(local_4c != (byte *)&local_44)" ( (binary_expression "local_4c != (byte *)&local_44" identifier != (cast_expression "(byte *)&local_44" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_44" & identifier))) )) (compound_statement "{\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }" { (expression_statement "*(byte **)(puVar22 + -0x10) = local_4c;" (assignment_expression "*(byte **)(puVar22 + -0x10) = local_4c" (pointer_expression "*(byte **)(puVar22 + -0x10)" * (cast_expression "(byte **)(puVar22 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9dadb;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9dadb" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_9c = &local_5c;" (assignment_expression "local_9c = &local_5c" identifier = (pointer_expression "&local_5c" & identifier)) ;) (expression_statement "uVar9 = param_4[1] >> 0x18;" (assignment_expression "uVar9 = param_4[1] >> 0x18" identifier = (binary_expression "param_4[1] >> 0x18" (subscript_expression "param_4[1]" identifier [ number_literal ]) >> number_literal)) ;) }))) (expression_statement "local_d0 = &local_5c;" (assignment_expression "local_d0 = &local_5c" identifier = (pointer_expression "&local_5c" & identifier)) ;) (expression_statement "local_b8 = uVar9 & 0xff;" (assignment_expression "local_b8 = uVar9 & 0xff" identifier = (binary_expression "uVar9 & 0xff" identifier & number_literal)) ;) (expression_statement "bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;" (assignment_expression "bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1" identifier = (binary_expression "*(byte *)((int)local_9c + 0xb) >> 6 & 1" (binary_expression "*(byte *)((int)local_9c + 0xb) >> 6" (pointer_expression "*(byte *)((int)local_9c + 0xb)" * (cast_expression "(byte *)((int)local_9c + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 0xb)" ( (binary_expression "(int)local_9c + 0xb" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal)) ;) (if_statement "if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }" if (parenthesized_expression "(((int)local_c4 < 0) || (param_10 <= local_c4))" ( (binary_expression "((int)local_c4 < 0) || (param_10 <= local_c4)" (parenthesized_expression "((int)local_c4 < 0)" ( (binary_expression "(int)local_c4 < 0" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(param_10 <= local_c4)" ( (binary_expression "param_10 <= local_c4" identifier <= identifier) ))) )) (compound_statement "{\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }" { (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "local_78 = param_4;" (assignment_expression "local_78 = param_4" identifier = identifier) ;) (if_statement "if (local_74 != '\0') goto LAB_0009dd10;" if (parenthesized_expression "(local_74 != '\0')" ( (binary_expression "local_74 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009dd10;" goto statement_identifier ;)) (labeled_statement "LAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;" statement_identifier : (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19ca7f" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9dceb;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9dceb" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)(puVar22 + -0xc) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -0xc) = local_c4" (pointer_expression "*(uint *)(puVar22 + -0xc)" * (cast_expression "(uint *)(puVar22 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;" (assignment_expression "*(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f" (pointer_expression "*(int *)(puVar22 + -0x14)" * (cast_expression "(int *)(puVar22 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = (binary_expression "(int)local_c4 >> 0x1f" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)(puVar22 + -0x18) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -0x18) = local_c4" (pointer_expression "*(uint *)(puVar22 + -0x18)" * (cast_expression "(uint *)(puVar22 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -0x1c) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x1c) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x1c)" * (cast_expression "(int *)(puVar22 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar22 + -0x20) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x20) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x20)" * (cast_expression "(undefined4 **)(puVar22 + -0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x20)" ( (binary_expression "puVar22 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9dd08;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9dd08" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" * (cast_expression "(undefined4 *)(puVar22 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x24)" ( (binary_expression "puVar22 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023be30();" (call_expression "FUN_0023be30()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }" else (compound_statement "{\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }" { (expression_statement "local_a0 = local_c4 + param_8;" (assignment_expression "local_a0 = local_c4 + param_8" identifier = (binary_expression "local_c4 + param_8" identifier + identifier)) ;) (expression_statement "local_78 = param_4;" (assignment_expression "local_78 = param_4" identifier = identifier) ;) (if_statement "if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }" if (parenthesized_expression "(local_74 == '\0')" ( (binary_expression "local_74 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }" { (labeled_statement "LAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;" statement_identifier : (if_statement "if (local_a0 == 0) goto LAB_0009dcd4;" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009dcd4;" goto statement_identifier ;))) (if_statement "if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }" if (parenthesized_expression "(local_70 == local_a0)" ( (binary_expression "local_70 == local_a0" identifier == identifier) )) (compound_statement "{\n              local_a0 = local_a0 + -4;\n            }" { (expression_statement "local_a0 = local_a0 + -4;" (assignment_expression "local_a0 = local_a0 + -4" identifier = (binary_expression "local_a0 + -4" identifier + number_literal)) ;) })) (expression_statement "local_4c = (byte *)0x0;" (assignment_expression "local_4c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_48 = 0xffffffff;" (assignment_expression "local_48 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_a4 = (int *)param_2[2];" (assignment_expression "local_a4 = (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 "local_44 = 0x80000000;" (assignment_expression "local_44 = 0x80000000" identifier = number_literal) ;) (expression_statement "local_40 = (undefined *)0x0;" (assignment_expression "local_40 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }" if (parenthesized_expression "(local_90 == (undefined **)0x0)" ( (binary_expression "local_90 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }" { (if_statement "if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }" if (parenthesized_expression "(bVar24 == 0)" ( (binary_expression "bVar24 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }" { (expression_statement "uVar9 = local_78[2];" (assignment_expression "uVar9 = local_78[2]" identifier = (subscript_expression "local_78[2]" identifier [ number_literal ])) ;) (expression_statement "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;" (assignment_expression "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "local_a8 = (int)local_ac >> 0x1f;" (assignment_expression "local_a8 = (int)local_ac >> 0x1f" identifier = (binary_expression "(int)local_ac >> 0x1f" (cast_expression "(int)local_ac" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }" if (parenthesized_expression "(local_b8 < 0xd)" ( (binary_expression "local_b8 < 0xd" identifier < number_literal) )) (compound_statement "{\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }" { (labeled_statement "LAB_0009d1f2:\n                  local_b0 = &local_4c;" statement_identifier : (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;)) }) (else_clause "else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }" else (compound_statement "{\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }" { (if_statement "if (local_b8 < 0x10) goto LAB_0009d56d;" if (parenthesized_expression "(local_b8 < 0x10)" ( (binary_expression "local_b8 < 0x10" identifier < number_literal) )) (goto_statement "goto LAB_0009d56d;" goto statement_identifier ;)) (if_statement "if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }" if (parenthesized_expression "(2 < local_b8 - 0x52)" ( (binary_expression "2 < local_b8 - 0x52" number_literal < (binary_expression "local_b8 - 0x52" identifier - number_literal)) )) (compound_statement "{\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }" { (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (goto_statement "goto LAB_0009d200;" goto statement_identifier ;) })) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (labeled_statement "LAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;" statement_identifier : (expression_statement "*(uint *)(puVar22 + -8) = local_ac;" (assignment_expression "*(uint *)(puVar22 + -8) = local_ac" (pointer_expression "*(uint *)(puVar22 + -8)" * (cast_expression "(uint *)(puVar22 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(int **)(puVar22 + -0xc) = local_a4;" (assignment_expression "*(int **)(puVar22 + -0xc) = local_a4" (pointer_expression "*(int **)(puVar22 + -0xc)" * (cast_expression "(int **)(puVar22 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte ***)(puVar22 + -0x10) = local_9c;" (assignment_expression "*(byte ***)(puVar22 + -0x10) = local_9c" (pointer_expression "*(byte ***)(puVar22 + -0x10)" * (cast_expression "(byte ***)(puVar22 + -0x10)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9de14;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9de14" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = FUN_000a90f0();" (assignment_expression "uVar15 = FUN_000a90f0()" identifier = (call_expression "FUN_000a90f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }" if (parenthesized_expression "((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0))" ( (binary_expression "(*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)" (parenthesized_expression "(*(int *)(param_1 + 0x14) != 0)" ( (binary_expression "*(int *)(param_1 + 0x14) != 0" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1)" ( (binary_expression "*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1" (pointer_expression "*(byte *)(*(int *)(param_1 + 0x14) + 0x1c)" * (cast_expression "(byte *)(*(int *)(param_1 + 0x14) + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x14) + 0x1c)" ( (binary_expression "*(int *)(param_1 + 0x14) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }" { (expression_statement "*(undefined4 *)(puVar22 + -4) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -4)" * (cast_expression "(undefined4 *)(puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eef" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64eef" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cca3" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f40c;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f40c" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) }))) }) (else_clause "else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }" else (compound_statement "{\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }" { (expression_statement "uVar9 = local_78[1];" (assignment_expression "uVar9 = local_78[1]" identifier = (subscript_expression "local_78[1]" identifier [ number_literal ])) ;) (expression_statement "local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;" (assignment_expression "local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8" identifier = (binary_expression "((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8" (parenthesized_expression "((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18)" ( (binary_expression "(uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "(uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal)) )) >> number_literal)) ;) (expression_statement "*(uint *)(puVar22 + -0xc) = local_ac;" (assignment_expression "*(uint *)(puVar22 + -0xc) = local_ac" (pointer_expression "*(uint *)(puVar22 + -0xc)" * (cast_expression "(uint *)(puVar22 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar22 + -0x10) = local_a4;" (assignment_expression "*(int **)(puVar22 + -0x10) = local_a4" (pointer_expression "*(int **)(puVar22 + -0x10)" * (cast_expression "(int **)(puVar22 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9dda9;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9dda9" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_00290e20();" (assignment_expression "cVar7 = FUN_00290e20()" identifier = (call_expression "FUN_00290e20()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }" if (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }" { (expression_statement "iVar11 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar11 = *(int *)(param_1 + 0x18)" identifier = (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }" { (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar22 + -4) = 0x9f3a6;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = 0x9f3a6" (pointer_expression "*(undefined4 *)(puVar22 + -4)" * (cast_expression "(undefined4 *)(puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00095ef0();" (call_expression "FUN_00095ef0()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar17 = extraout_ECX_00;" (assignment_expression "ppuVar17 = extraout_ECX_00" identifier = identifier) ;) (goto_statement "goto LAB_0009f3a6;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }" if (parenthesized_expression "((*(byte *)(iVar11 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar11 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar11 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar11 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar11 + 0x1c)" * (cast_expression "(byte *)(iVar11 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1c)" ( (binary_expression "iVar11 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }" { (expression_statement "*(undefined4 *)(puVar22 + -4) = extraout_ECX;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = extraout_ECX" (pointer_expression "*(undefined4 *)(puVar22 + -4)" * (cast_expression "(undefined4 *)(puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eef" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64eef" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cca3" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f3ed" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar5 = *(int *)(iVar11 + 0x34);" (assignment_expression "iVar5 = *(int *)(iVar11 + 0x34)" identifier = (pointer_expression "*(int *)(iVar11 + 0x34)" * (cast_expression "(int *)(iVar11 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x34)" ( (binary_expression "iVar11 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "iVar11 = *(int *)(iVar11 + 4);" (assignment_expression "iVar11 = *(int *)(iVar11 + 4)" identifier = (pointer_expression "*(int *)(iVar11 + 4)" * (cast_expression "(int *)(iVar11 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 4)" ( (binary_expression "iVar11 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *local_a4;" (assignment_expression "iVar12 = *local_a4" identifier = (pointer_expression "*local_a4" * identifier)) ;) (expression_statement "*(uint *)(puVar22 + -0xc) = local_ac;" (assignment_expression "*(uint *)(puVar22 + -0xc) = local_ac" (pointer_expression "*(uint *)(puVar22 + -0xc)" * (cast_expression "(uint *)(puVar22 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar22 + -0x10) = local_a4;" (assignment_expression "*(int **)(puVar22 + -0x10) = local_a4" (pointer_expression "*(int **)(puVar22 + -0x10)" * (cast_expression "(int **)(puVar22 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar1 = *(code **)(iVar12 + 0xa8);" (assignment_expression "pcVar1 = *(code **)(iVar12 + 0xa8)" identifier = (pointer_expression "*(code **)(iVar12 + 0xa8)" * (cast_expression "(code **)(iVar12 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + 0xa8)" ( (binary_expression "iVar12 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9de86;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9de86" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = (*pcVar1)();" (assignment_expression "iVar12 = (*pcVar1)()" identifier = (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);" (assignment_expression "local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12)" identifier = (cast_expression "(undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12)" ( (binary_expression "(iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12" (binary_expression "(iVar5 * 3 + 0xc) * 4 + iVar11" (binary_expression "(iVar5 * 3 + 0xc) * 4" (parenthesized_expression "(iVar5 * 3 + 0xc)" ( (binary_expression "iVar5 * 3 + 0xc" (binary_expression "iVar5 * 3" identifier * number_literal) + number_literal) )) * number_literal) + identifier) + identifier) )))) ;) (expression_statement "local_9c = &local_4c;" (assignment_expression "local_9c = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) })) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "uVar9 = local_78[2];" (assignment_expression "uVar9 = local_78[2]" identifier = (subscript_expression "local_78[2]" identifier [ number_literal ])) ;) (expression_statement "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;" (assignment_expression "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "local_a8 = (int)local_ac >> 0x1f;" (assignment_expression "local_a8 = (int)local_ac >> 0x1f" identifier = (binary_expression "(int)local_ac >> 0x1f" (cast_expression "(int)local_ac" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }" if (parenthesized_expression "(0xc < local_b8)" ( (binary_expression "0xc < local_b8" number_literal < identifier) )) (compound_statement "{\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }" { (if_statement "if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }" if (parenthesized_expression "(local_b8 < 0x10)" ( (binary_expression "local_b8 < 0x10" identifier < number_literal) )) (compound_statement "{\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }" { (labeled_statement "LAB_0009d56d:\n                    local_b0 = &local_4c;" statement_identifier : (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;)) (expression_statement "uVar9 = local_78[1];" (assignment_expression "uVar9 = local_78[1]" identifier = (subscript_expression "local_78[1]" identifier [ number_literal ])) ;) (expression_statement "iVar11 = *local_a4;" (assignment_expression "iVar11 = *local_a4" identifier = (pointer_expression "*local_a4" * identifier)) ;) (expression_statement "uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;" (assignment_expression "uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8" identifier = (binary_expression "((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8" (parenthesized_expression "((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18)" ( (binary_expression "(uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "(uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal)) )) >> number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" * (cast_expression "(undefined4 *)(puVar22 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(puVar22 + -0x1c) = uVar9;" (assignment_expression "*(uint *)(puVar22 + -0x1c) = uVar9" (pointer_expression "*(uint *)(puVar22 + -0x1c)" * (cast_expression "(uint *)(puVar22 + -0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar22 + -0x20) = local_a4;" (assignment_expression "*(int **)(puVar22 + -0x20) = local_a4" (pointer_expression "*(int **)(puVar22 + -0x20)" * (cast_expression "(int **)(puVar22 + -0x20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x20)" ( (binary_expression "puVar22 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar1 = *(code **)(iVar11 + 0xac);" (assignment_expression "pcVar1 = *(code **)(iVar11 + 0xac)" identifier = (pointer_expression "*(code **)(iVar11 + 0xac)" * (cast_expression "(code **)(iVar11 + 0xac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0xac)" ( (binary_expression "iVar11 + 0xac" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9d58e;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9d58e" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" * (cast_expression "(undefined4 *)(puVar22 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x24)" ( (binary_expression "puVar22 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = (*pcVar1)();" (assignment_expression "cVar7 = (*pcVar1)()" identifier = (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e7" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x650e7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0xd2c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0xd2c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x196252" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f357;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f357" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar11 = *local_a4;" (assignment_expression "iVar11 = *local_a4" identifier = (pointer_expression "*local_a4" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" * (cast_expression "(undefined4 *)(puVar22 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(puVar22 + -0x1c) = uVar9;" (assignment_expression "*(uint *)(puVar22 + -0x1c) = uVar9" (pointer_expression "*(uint *)(puVar22 + -0x1c)" * (cast_expression "(uint *)(puVar22 + -0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar22 + -0x20) = local_a4;" (assignment_expression "*(int **)(puVar22 + -0x20) = local_a4" (pointer_expression "*(int **)(puVar22 + -0x20)" * (cast_expression "(int **)(puVar22 + -0x20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x20)" ( (binary_expression "puVar22 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar1 = *(code **)(iVar11 + 0xb0);" (assignment_expression "pcVar1 = *(code **)(iVar11 + 0xb0)" identifier = (pointer_expression "*(code **)(iVar11 + 0xb0)" * (cast_expression "(code **)(iVar11 + 0xb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0xb0)" ( (binary_expression "iVar11 + 0xb0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9d5b2" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" * (cast_expression "(undefined4 *)(puVar22 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x24)" ( (binary_expression "puVar22 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar1)();" (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0009d200;" goto statement_identifier ;) })) (if_statement "if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;" if (parenthesized_expression "(local_b8 - 0x52 < 3)" ( (binary_expression "local_b8 - 0x52 < 3" (binary_expression "local_b8 - 0x52" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_0009ddfa;" goto statement_identifier ;)) })) (labeled_statement "LAB_0009d5e0:\n                local_b0 = &local_4c;" statement_identifier : (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;)) }))) }) (else_clause "else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }" else (compound_statement "{\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }" { (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (if_statement "if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }" if (parenthesized_expression "(local_b8 - 1 < 0x58)" ( (binary_expression "local_b8 - 1 < 0x58" (binary_expression "local_b8 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }" { (expression_statement "uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));" (assignment_expression "uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561))" identifier = (binary_expression "(uint)*(char *)((int)local_94 + (local_b8 - 0x194561))" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)((int)local_94 + (local_b8 - 0x194561))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + (local_b8 - 0x194561))" ( (binary_expression "(int)local_94 + (local_b8 - 0x194561)" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(local_b8 - 0x194561)" ( (binary_expression "local_b8 - 0x194561" identifier - number_literal) ))) ))))) ;) })) (if_statement "if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }" if (parenthesized_expression "(local_90[6] == (undefined *)0xffffffff)" ( (binary_expression "local_90[6] == (undefined *)0xffffffff" (subscript_expression "local_90[6]" identifier [ number_literal ]) == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }" { (labeled_statement "LAB_0009d17c:\n                uVar9 = local_78[2];" statement_identifier : (expression_statement "uVar9 = local_78[2];" (assignment_expression "uVar9 = local_78[2]" identifier = (subscript_expression "local_78[2]" identifier [ number_literal ])) ;)) (expression_statement "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;" (assignment_expression "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "local_a8 = (int)local_ac >> 0x1f;" (assignment_expression "local_a8 = (int)local_ac >> 0x1f" identifier = (binary_expression "(int)local_ac >> 0x1f" (cast_expression "(int)local_ac" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }" if (parenthesized_expression "(0xc < local_b8)" ( (binary_expression "0xc < local_b8" number_literal < identifier) )) (compound_statement "{\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }" { (if_statement "if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }" if (parenthesized_expression "(0xf < local_b8)" ( (binary_expression "0xf < local_b8" number_literal < identifier) )) (compound_statement "{\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }" { (if_statement "if (2 < local_b8 - 0x52) goto LAB_0009d1f2;" if (parenthesized_expression "(2 < local_b8 - 0x52)" ( (binary_expression "2 < local_b8 - 0x52" number_literal < (binary_expression "local_b8 - 0x52" identifier - number_literal)) )) (goto_statement "goto LAB_0009d1f2;" goto statement_identifier ;)) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (if_statement "if (local_90 != (undefined **)0x0) goto LAB_0009cf73;" if (parenthesized_expression "(local_90 != (undefined **)0x0)" ( (binary_expression "local_90 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0009cf73;" goto statement_identifier ;)) (goto_statement "goto LAB_0009ddfa;" goto statement_identifier ;) })) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (goto_statement "goto LAB_0009cfd0;" goto statement_identifier ;) })) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) }) (else_clause "else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }" else (compound_statement "{\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }" { (expression_statement "cVar19 = *(code *)(local_90 + 10);" (assignment_expression "cVar19 = *(code *)(local_90 + 10)" identifier = (pointer_expression "*(code *)(local_90 + 10)" * (cast_expression "(code *)(local_90 + 10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 10)" ( (binary_expression "local_90 + 10" identifier + number_literal) ))))) ;) (expression_statement "local_ac._0_1_ = cVar19;" (assignment_expression "local_ac._0_1_ = cVar19" (field_expression "local_ac._0_1_" identifier . field_identifier) = identifier) ;) (if_statement "if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }" if (parenthesized_expression "(((byte)cVar19 & 0xf) != 10)" ( (binary_expression "((byte)cVar19 & 0xf) != 10" (parenthesized_expression "((byte)cVar19 & 0xf)" ( (binary_expression "(byte)cVar19 & 0xf" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }" { (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "*(uint *)(puVar22 + -0xc) = uVar9;" (assignment_expression "*(uint *)(puVar22 + -0xc) = uVar9" (pointer_expression "*(uint *)(puVar22 + -0xc)" * (cast_expression "(uint *)(puVar22 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9ce95;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9ce95" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_00071bb0();" (assignment_expression "cVar7 = FUN_00071bb0()" identifier = (call_expression "FUN_00071bb0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }" { (expression_statement "local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);" (assignment_expression "local_ac._0_1_ = *(code *)((int)local_90 + 0x2a)" (field_expression "local_ac._0_1_" identifier . field_identifier) = (pointer_expression "*(code *)((int)local_90 + 0x2a)" * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar18 = (byte)local_ac._0_1_ & 7;" (assignment_expression "bVar18 = (byte)local_ac._0_1_ & 7" identifier = (binary_expression "(byte)local_ac._0_1_ & 7" (cast_expression "(byte)local_ac._0_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "local_ac._0_1_" identifier . field_identifier)) & number_literal)) ;) (if_statement "if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;" if (parenthesized_expression "(((byte)local_ac._0_1_ & 7) != 0)" ( (binary_expression "((byte)local_ac._0_1_ & 7) != 0" (parenthesized_expression "((byte)local_ac._0_1_ & 7)" ( (binary_expression "(byte)local_ac._0_1_ & 7" (cast_expression "(byte)local_ac._0_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "local_ac._0_1_" identifier . field_identifier)) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009d110;" goto statement_identifier ;)) (if_statement "if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;" if (parenthesized_expression "((local_90[2][0x2c] & 1) == 0)" ( (binary_expression "(local_90[2][0x2c] & 1) == 0" (parenthesized_expression "(local_90[2][0x2c] & 1)" ( (binary_expression "local_90[2][0x2c] & 1" (subscript_expression "local_90[2][0x2c]" (subscript_expression "local_90[2]" identifier [ number_literal ]) [ number_literal ]) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009d110;" goto statement_identifier ;)) (labeled_statement "LAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);" statement_identifier : (expression_statement "iVar11 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar11 = *(int *)(param_1 + 0x18)" identifier = (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;)) (if_statement "if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }" { (if_statement "if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;" if (parenthesized_expression "(((uint)local_90[10] & 0xf) == 10)" ( (binary_expression "((uint)local_90[10] & 0xf) == 10" (parenthesized_expression "((uint)local_90[10] & 0xf)" ( (binary_expression "(uint)local_90[10] & 0xf" (cast_expression "(uint)local_90[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_90[10]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009d0aa;" goto statement_identifier ;)) (expression_statement "local_9c = (byte **)0x0;" (assignment_expression "local_9c = (byte **)0x0" identifier = (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0009cefd;" goto statement_identifier ;) })) (labeled_statement "LAB_0009d100:\n                    local_b0 = &local_4c;" statement_identifier : (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;)) (expression_statement "*(undefined4 *)(puVar22 + -4) = 0x9d10e;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = 0x9d10e" (pointer_expression "*(undefined4 *)(puVar22 + -4)" * (cast_expression "(undefined4 *)(puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar18 = FUN_00095ef0();" (assignment_expression "bVar18 = FUN_00095ef0()" identifier = (call_expression "FUN_00095ef0()" identifier (argument_list "()" ( )))) ;) (labeled_statement "LAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;" statement_identifier : (expression_statement "ppuVar17 = local_94 + 0x1f2;" (assignment_expression "ppuVar17 = local_94 + 0x1f2" identifier = (binary_expression "local_94 + 0x1f2" identifier + number_literal)) ;)) (if_statement "if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }" if (parenthesized_expression "(*(int *)(*ppuVar17 + 8) == 0)" ( (binary_expression "*(int *)(*ppuVar17 + 8) == 0" (pointer_expression "*(int *)(*ppuVar17 + 8)" * (cast_expression "(int *)(*ppuVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppuVar17 + 8)" ( (binary_expression "*ppuVar17 + 8" (pointer_expression "*ppuVar17" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64ebf" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f37a;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f37a" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }" if (parenthesized_expression "(*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0')" ( (binary_expression "*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0'" (pointer_expression "*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25)" * (cast_expression "(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*ppuVar17 + 8) + 0x1a25)" ( (binary_expression "*(int *)(*ppuVar17 + 8) + 0x1a25" (pointer_expression "*(int *)(*ppuVar17 + 8)" * (cast_expression "(int *)(*ppuVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppuVar17 + 8)" ( (binary_expression "*ppuVar17 + 8" (pointer_expression "*ppuVar17" * identifier) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }" { (if_statement "if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;" if (parenthesized_expression "(bVar18 == 0)" ( (binary_expression "bVar18 == 0" identifier == number_literal) )) (compound_statement "{\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }" { (if_statement "if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;" if (parenthesized_expression "((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0))" ( (binary_expression "(local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)" (parenthesized_expression "(local_90[3] == (undefined *)0x0)" ( (binary_expression "local_90[3] == (undefined *)0x0" (subscript_expression "local_90[3]" identifier [ number_literal ]) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 0x20" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0009cec6;" goto statement_identifier ;)) }) (else_clause "else if (bVar18 == 4) goto LAB_0009cec6;" else (if_statement "if (bVar18 == 4) goto LAB_0009cec6;" if (parenthesized_expression "(bVar18 == 4)" ( (binary_expression "bVar18 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0009cec6;" goto statement_identifier ;)))) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d168;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d168" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_00071a80();" (assignment_expression "cVar7 = FUN_00071a80()" identifier = (call_expression "FUN_00071a80()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar7 != '\0') goto LAB_0009cec6;" if (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009cec6;" goto statement_identifier ;)) })) (expression_statement "uVar9 = uVar9 & 8;" (assignment_expression "uVar9 = uVar9 & 8" identifier = (binary_expression "uVar9 & 8" identifier & number_literal)) ;) (if_statement "if (uVar9 == 0) goto LAB_0009d17c;" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009d17c;" goto statement_identifier ;)) (if_statement "if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;" if (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2a) & 7" (binary_expression "(byte)*(code *)((int)local_90 + 0x2a)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }" { (if_statement "if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;" if (parenthesized_expression "((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0))" ( (binary_expression "(local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" (parenthesized_expression "(local_90[3] != (undefined *)0x0)" ( (binary_expression "local_90[3] != (undefined *)0x0" (subscript_expression "local_90[3]" identifier [ number_literal ]) != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 0x20" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_0009d17c;" goto statement_identifier ;)) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) }) (else_clause "else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;" else (if_statement "if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;" if (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2a) & 7" (binary_expression "(byte)*(code *)((int)local_90 + 0x2a)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009d17c;" goto statement_identifier ;)))) (expression_statement "local_ac._0_1_ = *(code *)(local_90 + 10);" (assignment_expression "local_ac._0_1_ = *(code *)(local_90 + 10)" (field_expression "local_ac._0_1_" identifier . field_identifier) = (pointer_expression "*(code *)(local_90 + 10)" * (cast_expression "(code *)(local_90 + 10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 10)" ( (binary_expression "local_90 + 10" identifier + number_literal) ))))) ;) (if_statement "if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;" if (parenthesized_expression "(((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))" ( (binary_expression "((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0)" (parenthesized_expression "((byte)local_ac._0_1_ >> 4 == 2)" ( (binary_expression "(byte)local_ac._0_1_ >> 4 == 2" (binary_expression "(byte)local_ac._0_1_ >> 4" (cast_expression "(byte)local_ac._0_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "local_ac._0_1_" identifier . field_identifier)) >> number_literal) == number_literal) )) || (parenthesized_expression "(((uint)local_90[0xb] & 2) != 0)" ( (binary_expression "((uint)local_90[0xb] & 2) != 0" (parenthesized_expression "((uint)local_90[0xb] & 2)" ( (binary_expression "(uint)local_90[0xb] & 2" (cast_expression "(uint)local_90[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_90[0xb]" identifier [ number_literal ])) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0009cec6;" goto statement_identifier ;)) (if_statement "if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }" if (parenthesized_expression "(*(int *)(*ppuVar17 + 8) == 0)" ( (binary_expression "*(int *)(*ppuVar17 + 8) == 0" (pointer_expression "*(int *)(*ppuVar17 + 8)" * (cast_expression "(int *)(*ppuVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppuVar17 + 8)" ( (binary_expression "*ppuVar17 + 8" (pointer_expression "*ppuVar17" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }" { (expression_statement "*(undefined ***)(puVar22 + -4) = ppuVar17;" (assignment_expression "*(undefined ***)(puVar22 + -4) = ppuVar17" (pointer_expression "*(undefined ***)(puVar22 + -4)" * (cast_expression "(undefined ***)(puVar22 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64ebf" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "*(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;" (assignment_expression "*(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3" (pointer_expression "*(undefined **)(puVar22 + -0x14)" * (cast_expression "(undefined **)(puVar22 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0009f4c3" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;" if (parenthesized_expression "(*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0')" ( (binary_expression "*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0'" (pointer_expression "*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1)" * (cast_expression "(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*ppuVar17 + 8) + 0x49b1)" ( (binary_expression "*(int *)(*ppuVar17 + 8) + 0x49b1" (pointer_expression "*(int *)(*ppuVar17 + 8)" * (cast_expression "(int *)(*ppuVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppuVar17 + 8)" ( (binary_expression "*ppuVar17 + 8" (pointer_expression "*ppuVar17" * identifier) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009cec6;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0009d17c;" goto statement_identifier ;) })) (expression_statement "iVar11 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar11 = *(int *)(param_1 + 0x18)" identifier = (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar11 == 0) goto LAB_0009d100;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009d100;" goto statement_identifier ;)) (labeled_statement "LAB_0009d0aa:\n                local_b0 = &local_4c;" statement_identifier : (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;)) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d0c3" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_00071de0();" (assignment_expression "cVar7 = FUN_00071de0()" identifier = (call_expression "FUN_00071de0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_9c = (byte **)0x0;" (assignment_expression "local_9c = (byte **)0x0" identifier = (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (if_statement "if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }" if (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }" { (expression_statement "local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);" (assignment_expression "local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4)" identifier = (cast_expression "(byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4)" ( (binary_expression "(*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4" (parenthesized_expression "(*(int *)(iVar11 + 0x34) * 3 + 0xc)" ( (binary_expression "*(int *)(iVar11 + 0x34) * 3 + 0xc" (binary_expression "*(int *)(iVar11 + 0x34) * 3" (pointer_expression "*(int *)(iVar11 + 0x34)" * (cast_expression "(int *)(iVar11 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x34)" ( (binary_expression "iVar11 + 0x34" identifier + number_literal) )))) * number_literal) + number_literal) )) * number_literal) )))) ;) (expression_statement "local_98 = (int)local_9c >> 0x1f;" (assignment_expression "local_98 = (int)local_9c >> 0x1f" identifier = (binary_expression "(int)local_9c >> 0x1f" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) })) (labeled_statement "LAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }" statement_identifier : (if_statement "if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }" if (parenthesized_expression "((*(byte *)(iVar11 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar11 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar11 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar11 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar11 + 0x1c)" * (cast_expression "(byte *)(iVar11 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1c)" ( (binary_expression "iVar11 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eef" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64eef" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cca3" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f2cd" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) }))) (if_statement "if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }" if (parenthesized_expression "(local_90[6] == (undefined *)0xffffffff)" ( (binary_expression "local_90[6] == (undefined *)0xffffffff" (subscript_expression "local_90[6]" identifier [ number_literal ]) == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64fb3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x1ce;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x1ce" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_94 + -0x67308" identifier + number_literal)) ;) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f2f7" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;" (assignment_expression "local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c" identifier = (binary_expression "local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c" (binary_expression "local_90[6] + *(int *)(iVar11 + 4)" (subscript_expression "local_90[6]" identifier [ number_literal ]) + (pointer_expression "*(int *)(iVar11 + 4)" * (cast_expression "(int *)(iVar11 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 4)" ( (binary_expression "iVar11 + 4" identifier + number_literal) ))))) + (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar9 = local_78[2];" (assignment_expression "uVar9 = local_78[2]" identifier = (subscript_expression "local_78[2]" identifier [ number_literal ])) ;) (expression_statement "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;" (assignment_expression "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "local_a8 = (int)local_ac >> 0x1f;" (assignment_expression "local_a8 = (int)local_ac >> 0x1f" identifier = (binary_expression "(int)local_ac >> 0x1f" (cast_expression "(int)local_ac" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }" if (parenthesized_expression "(local_b8 < 0xd)" ( (binary_expression "local_b8 < 0xd" identifier < number_literal) )) (compound_statement "{\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }" { (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "local_9c = local_b0;" (assignment_expression "local_9c = local_b0" identifier = identifier) ;) (goto_statement "goto LAB_0009d200;" goto statement_identifier ;) })) (if_statement "if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }" if (parenthesized_expression "(local_b8 < 0x10)" ( (binary_expression "local_b8 < 0x10" identifier < number_literal) )) (compound_statement "{\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }" { (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "local_9c = local_b0;" (assignment_expression "local_9c = local_b0" identifier = identifier) ;) (if_statement "if (local_90 == (undefined **)0x0) goto LAB_0009d56d;" if (parenthesized_expression "(local_90 == (undefined **)0x0)" ( (binary_expression "local_90 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0009d56d;" goto statement_identifier ;)) }) (else_clause "else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }" else (compound_statement "{\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }" { (expression_statement "local_9c = &local_4c;" (assignment_expression "local_9c = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (if_statement "if (2 < local_b8 - 0x52) goto LAB_0009d5e0;" if (parenthesized_expression "(2 < local_b8 - 0x52)" ( (binary_expression "2 < local_b8 - 0x52" number_literal < (binary_expression "local_b8 - 0x52" identifier - number_literal)) )) (goto_statement "goto LAB_0009d5e0;" goto statement_identifier ;)) (labeled_statement "LAB_0009cf73:\n                  local_b0 = &local_4c;" statement_identifier : (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;)) (expression_statement "cVar19 = *(code *)((int)local_90 + 0x2a);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x2a)" identifier = (pointer_expression "*(code *)((int)local_90 + 0x2a)" * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_c8 = CONCAT31(local_c8._1_3_,cVar19);" (assignment_expression "local_c8 = CONCAT31(local_c8._1_3_,cVar19)" identifier = (call_expression "CONCAT31(local_c8._1_3_,cVar19)" identifier (argument_list "(local_c8._1_3_,cVar19)" ( (field_expression "local_c8._1_3_" identifier . field_identifier) , identifier )))) ;) (if_statement "if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }" if (parenthesized_expression "(((byte)cVar19 & 7) == 0)" ( (binary_expression "((byte)cVar19 & 7) == 0" (parenthesized_expression "((byte)cVar19 & 7)" ( (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }" { (if_statement "if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }" if (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 0x20" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }" { (expression_statement "*(undefined **)(puVar22 + -0x10) = local_90[3];" (assignment_expression "*(undefined **)(puVar22 + -0x10) = local_90[3]" (pointer_expression "*(undefined **)(puVar22 + -0x10)" * (cast_expression "(undefined **)(puVar22 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (subscript_expression "local_90[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d01f;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d01f" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_0034c920();" (assignment_expression "cVar7 = FUN_0034c920()" identifier = (call_expression "FUN_0034c920()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }" { (if_statement "if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;" if (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2a) & 7" (binary_expression "(byte)*(code *)((int)local_90 + 0x2a)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009cfae;" goto statement_identifier ;)) (goto_statement "goto LAB_0009cf9f;" goto statement_identifier ;) })) }) (else_clause "else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }" else (if_statement "if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }" if (parenthesized_expression "(local_90[3] != (undefined *)0x0)" ( (binary_expression "local_90[3] != (undefined *)0x0" (subscript_expression "local_90[3]" identifier [ number_literal ]) != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }" { (labeled_statement "LAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;" statement_identifier : (if_statement "if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;" if (parenthesized_expression "((local_90[2][0x2c] & 1) == 0)" ( (binary_expression "(local_90[2][0x2c] & 1) == 0" (parenthesized_expression "(local_90[2][0x2c] & 1)" ( (binary_expression "local_90[2][0x2c] & 1" (subscript_expression "local_90[2][0x2c]" (subscript_expression "local_90[2]" identifier [ number_literal ]) [ number_literal ]) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009cfae;" goto statement_identifier ;))) })))) }) (else_clause "else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }" else (if_statement "if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }" if (parenthesized_expression "(((byte)cVar19 & 7) != 4)" ( (binary_expression "((byte)cVar19 & 7) != 4" (parenthesized_expression "((byte)cVar19 & 7)" ( (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }" { (labeled_statement "LAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;" statement_identifier : (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9cfbc" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_00071a80();" (assignment_expression "cVar7 = FUN_00071a80()" identifier = (call_expression "FUN_00071a80()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;" if (parenthesized_expression "((cVar7 == '\0') && (bVar24 == 0))" ( (binary_expression "(cVar7 == '\0') && (bVar24 == 0)" (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(bVar24 == 0)" ( (binary_expression "bVar24 == 0" identifier == number_literal) ))) )) (goto_statement "goto LAB_0009ddfa;" goto statement_identifier ;)) })))) }))) (labeled_statement "LAB_0009cfd0:\n                ppuVar17 = local_90 + 7;" statement_identifier : (expression_statement "ppuVar17 = local_90 + 7;" (assignment_expression "ppuVar17 = local_90 + 7" identifier = (binary_expression "local_90 + 7" identifier + number_literal)) ;)) (expression_statement "ppuVar20 = ppuVar17;" (assignment_expression "ppuVar20 = ppuVar17" identifier = identifier) ;) (while_statement "while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }" while (parenthesized_expression "(*ppuVar20 != (undefined *)0x0)" ( (binary_expression "*ppuVar20 != (undefined *)0x0" (pointer_expression "*ppuVar20" * identifier) != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }" { (expression_statement "ppuVar20 = (undefined **)ppuVar20[2];" (assignment_expression "ppuVar20 = (undefined **)ppuVar20[2]" identifier = (cast_expression "(undefined **)ppuVar20[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppuVar20[2]" identifier [ number_literal ]))) ;) (if_statement "if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;" if (parenthesized_expression "(ppuVar20 == (undefined **)0x0)" ( (binary_expression "ppuVar20 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0009cfed;" goto statement_identifier ;)) })) (if_statement "if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }" if (parenthesized_expression "(ppuVar20[1] == (undefined *)0xffffffff)" ( (binary_expression "ppuVar20[1] == (undefined *)0xffffffff" (subscript_expression "ppuVar20[1]" identifier [ number_literal ]) == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }" { (labeled_statement "LAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;" statement_identifier : (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e7" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x650e7" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0xd26;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0xd26" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x196252" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d00e;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d00e" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (while_statement "while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }" while (parenthesized_expression "(*ppuVar17 != (undefined *)0x0)" ( (binary_expression "*ppuVar17 != (undefined *)0x0" (pointer_expression "*ppuVar17" * identifier) != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }" { (expression_statement "ppuVar17 = (undefined **)ppuVar17[2];" (assignment_expression "ppuVar17 = (undefined **)ppuVar17[2]" identifier = (cast_expression "(undefined **)ppuVar17[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppuVar17[2]" identifier [ number_literal ]))) ;) (if_statement "if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;" if (parenthesized_expression "(ppuVar17 == (undefined **)0x0)" ( (binary_expression "ppuVar17 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0009d069;" goto statement_identifier ;)) })) (if_statement "if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }" if (parenthesized_expression "(ppuVar17[1] == (undefined *)0xffffffff)" ( (binary_expression "ppuVar17[1] == (undefined *)0xffffffff" (subscript_expression "ppuVar17[1]" identifier [ number_literal ]) == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }" { (labeled_statement "LAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;" statement_identifier : (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64f5d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x1b7;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x1b7" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_94 + -0x67308" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;" (assignment_expression "*(undefined **)(puVar22 + -0x14) = &UNK_0009d08a" (pointer_expression "*(undefined **)(puVar22 + -0x14)" * (cast_expression "(undefined **)(puVar22 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0009d08a" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) }))) }))) (labeled_statement "LAB_0009d200:\n            local_c8 = local_c4 + param_9;" statement_identifier : (expression_statement "local_c8 = local_c4 + param_9;" (assignment_expression "local_c8 = local_c4 + param_9" identifier = (binary_expression "local_c4 + param_9" identifier + identifier)) ;)) (if_statement "if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }" if (parenthesized_expression "(local_b8 < 0xfc)" ( (binary_expression "local_b8 < 0xfc" identifier < number_literal) )) (compound_statement "{\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }" { (expression_statement "(*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();" (call_expression "(*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))()" (parenthesized_expression "(*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))" ( (pointer_expression "*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94)" * (cast_expression "(code *)(local_94[local_b8 - 0x656fe] + (int)local_94)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94[local_b8 - 0x656fe] + (int)local_94)" ( (binary_expression "local_94[local_b8 - 0x656fe] + (int)local_94" (subscript_expression "local_94[local_b8 - 0x656fe]" identifier [ (binary_expression "local_b8 - 0x656fe" identifier - number_literal) ]) + (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_94 + -0x672b6" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9e3bf" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = *local_78;" (assignment_expression "uVar9 = *local_78" identifier = (pointer_expression "*local_78" * identifier)) ;) (expression_statement "*(uint *)(puVar22 + -0xc) = local_b8;" (assignment_expression "*(uint *)(puVar22 + -0xc) = local_b8" (pointer_expression "*(uint *)(puVar22 + -0xc)" * (cast_expression "(uint *)(puVar22 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "*(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (pointer_expression "*(uint *)(puVar22 + -0x18)" * (cast_expression "(uint *)(puVar22 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "*(int *)(puVar22 + -0x1c) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x1c) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x1c)" * (cast_expression "(int *)(puVar22 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar22 + -0x20) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x20) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x20)" * (cast_expression "(undefined4 **)(puVar22 + -0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x20)" ( (binary_expression "puVar22 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9e3e3" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" * (cast_expression "(undefined4 *)(puVar22 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x24)" ( (binary_expression "puVar22 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023be30();" (call_expression "FUN_0023be30()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(byte ***)(puVar22 + -0x10) = local_b0;" (assignment_expression "*(byte ***)(puVar22 + -0x10) = local_b0" (pointer_expression "*(byte ***)(puVar22 + -0x10)" * (cast_expression "(byte ***)(puVar22 + -0x10)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d286;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d286" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072240();" (call_expression "FUN_00072240()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }" if (parenthesized_expression "(local_90 != (undefined **)0x0)" ( (binary_expression "local_90 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }" { (expression_statement "cVar19 = *(code *)((int)local_90 + 0x2a);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x2a)" identifier = (pointer_expression "*(code *)((int)local_90 + 0x2a)" * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar24 = (byte)cVar19 & 7;" (assignment_expression "bVar24 = (byte)cVar19 & 7" identifier = (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "ppuVar20 = local_90;" (assignment_expression "ppuVar20 = local_90" identifier = identifier) ;) (if_statement "if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }" if (parenthesized_expression "(((byte)cVar19 & 7) == 0)" ( (binary_expression "((byte)cVar19 & 7) == 0" (parenthesized_expression "((byte)cVar19 & 7)" ( (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }" { (if_statement "if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }" if (parenthesized_expression "((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0))" ( (binary_expression "(local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" (parenthesized_expression "(local_90[3] != (undefined *)0x0)" ( (binary_expression "local_90[3] != (undefined *)0x0" (subscript_expression "local_90[3]" identifier [ number_literal ]) != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 0x20" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }" { (expression_statement "ppuVar17 = (undefined **)local_90[2];" (assignment_expression "ppuVar17 = (undefined **)local_90[2]" identifier = (cast_expression "(undefined **)local_90[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_90[2]" identifier [ number_literal ]))) ;) (expression_statement "ppuVar20 = local_94 + -0x15e4b4;" (assignment_expression "ppuVar20 = local_94 + -0x15e4b4" identifier = (binary_expression "local_94 + -0x15e4b4" identifier + number_literal)) ;) (expression_statement "ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);" (assignment_expression "ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14)" identifier = (pointer_expression "*(undefined ***)(*ppuVar17 + 0x14)" * (cast_expression "(undefined ***)(*ppuVar17 + 0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*ppuVar17 + 0x14)" ( (binary_expression "*ppuVar17 + 0x14" (pointer_expression "*ppuVar17" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }" if (parenthesized_expression "(ppuVar2 != ppuVar20)" ( (binary_expression "ppuVar2 != ppuVar20" identifier != identifier) )) (compound_statement "{\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = ppuVar17;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = ppuVar17" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d736;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d736" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar11 = (*(code *)ppuVar2)();" (assignment_expression "iVar11 = (*(code *)ppuVar2)()" identifier = (call_expression "(*(code *)ppuVar2)()" (parenthesized_expression "(*(code *)ppuVar2)" ( (pointer_expression "*(code *)ppuVar2" * (cast_expression "(code *)ppuVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }" { (expression_statement "cVar19 = *(code *)((int)local_90 + 0x2a);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x2a)" identifier = (pointer_expression "*(code *)((int)local_90 + 0x2a)" * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar24 = (byte)cVar19 & 7;" (assignment_expression "bVar24 = (byte)cVar19 & 7" identifier = (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (if_statement "if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }" if (parenthesized_expression "(((byte)cVar19 & 7) == 0)" ( (binary_expression "((byte)cVar19 & 7) == 0" (parenthesized_expression "((byte)cVar19 & 7)" ( (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }" { (if_statement "if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }" if (parenthesized_expression "(local_90[3] == (undefined *)0x0)" ( (binary_expression "local_90[3] == (undefined *)0x0" (subscript_expression "local_90[3]" identifier [ number_literal ]) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }" { (expression_statement "cVar8 = *(code *)((int)local_90 + 0x2b);" (assignment_expression "cVar8 = *(code *)((int)local_90 + 0x2b)" identifier = (pointer_expression "*(code *)((int)local_90 + 0x2b)" * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;" if (parenthesized_expression "(((byte)cVar8 & 0x20) != 0)" ( (binary_expression "((byte)cVar8 & 0x20) != 0" (parenthesized_expression "((byte)cVar8 & 0x20)" ( (binary_expression "(byte)cVar8 & 0x20" (cast_expression "(byte)cVar8" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009d63d;" goto statement_identifier ;)) }) (else_clause "else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }" else (compound_statement "{\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }" { (expression_statement "cVar8 = *(code *)((int)local_90 + 0x2b);" (assignment_expression "cVar8 = *(code *)((int)local_90 + 0x2b)" identifier = (pointer_expression "*(code *)((int)local_90 + 0x2b)" * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }))) (if_statement "if ((char)cVar8 < '\0') goto LAB_0009d900;" if (parenthesized_expression "((char)cVar8 < '\0')" ( (binary_expression "(char)cVar8 < '\0'" (cast_expression "(char)cVar8" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009d900;" goto statement_identifier ;)) }) (else_clause "else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }" else (compound_statement "{\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }" { (if_statement "if (bVar24 == 4) goto LAB_0009d63d;" if (parenthesized_expression "(bVar24 == 4)" ( (binary_expression "bVar24 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0009d63d;" goto statement_identifier ;)) (if_statement "if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;" if (parenthesized_expression "((char)*(code *)((int)local_90 + 0x2b) < '\0')" ( (binary_expression "(char)*(code *)((int)local_90 + 0x2b) < '\0'" (cast_expression "(char)*(code *)((int)local_90 + 0x2b)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(code *)((int)local_90 + 0x2b)" * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009d6b0;" goto statement_identifier ;)) }))) (expression_statement "ppuVar20 = local_94 + 0x1f2;" (assignment_expression "ppuVar20 = local_94 + 0x1f2" identifier = (binary_expression "local_94 + 0x1f2" identifier + number_literal)) ;) (goto_statement "goto LAB_0009d779;" goto statement_identifier ;) })) (goto_statement "goto LAB_0009d970;" goto statement_identifier ;) })) (labeled_statement "LAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;" statement_identifier : (expression_statement "bVar18 = (byte)cVar19 & 7;" (assignment_expression "bVar18 = (byte)cVar19 & 7" identifier = (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;)) (expression_statement "cVar19 = *(code *)((int)local_90 + 0x29);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x29)" identifier = (pointer_expression "*(code *)((int)local_90 + 0x29)" * (cast_expression "(code *)((int)local_90 + 0x29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x29)" ( (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19)" identifier = (cast_expression "(byte **)CONCAT31(local_9c._1_3_,cVar19)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_9c._1_3_,cVar19)" identifier (argument_list "(local_9c._1_3_,cVar19)" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "bVar24 = (byte)cVar19 & 3;" (assignment_expression "bVar24 = (byte)cVar19 & 3" identifier = (binary_expression "(byte)cVar19 & 3" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (if_statement "if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;" if (parenthesized_expression "(((byte)cVar19 & 3) == 0)" ( (binary_expression "((byte)cVar19 & 3) == 0" (parenthesized_expression "((byte)cVar19 & 3)" ( (binary_expression "(byte)cVar19 & 3" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009d380;" goto statement_identifier ;)) (labeled_statement "LAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }" statement_identifier : (if_statement "if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }" if (parenthesized_expression "((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0))" ( (binary_expression "(local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)" (parenthesized_expression "(local_90[3] == (undefined *)0x0)" ( (binary_expression "local_90[3] == (undefined *)0x0" (subscript_expression "local_90[3]" identifier [ number_literal ]) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)" ( (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 0x20" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }" { (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" identifier = (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" identifier (argument_list "(local_9c._1_3_,*(code *)(local_90 + 10))" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , (pointer_expression "*(code *)(local_90 + 10)" * (cast_expression "(code *)(local_90 + 10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 10)" ( (binary_expression "local_90 + 10" identifier + number_literal) )))) ))))) ;) (expression_statement "bVar16 = (byte)*(code *)(local_90 + 10) >> 4;" (assignment_expression "bVar16 = (byte)*(code *)(local_90 + 10) >> 4" identifier = (binary_expression "(byte)*(code *)(local_90 + 10) >> 4" (binary_expression "(byte)*(code *)(local_90 + 10)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)(local_90 + 10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 10)" ( (binary_expression "local_90 + 10" identifier + number_literal) )))) >> number_literal)) ;) (expression_statement "ppuVar17 = (undefined **)(uint)bVar16;" (assignment_expression "ppuVar17 = (undefined **)(uint)bVar16" identifier = (cast_expression "(undefined **)(uint)bVar16" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(uint)bVar16" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;" if (parenthesized_expression "((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))" ( (binary_expression "(bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0)" (parenthesized_expression "(bVar16 != 2)" ( (binary_expression "bVar16 != 2" identifier != number_literal) )) && (parenthesized_expression "(ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0)" ( (comma_expression "ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0" (assignment_expression "ppuVar17 = local_90" identifier = identifier) , (binary_expression "((uint)local_90[0xb] & 2) == 0" (parenthesized_expression "((uint)local_90[0xb] & 2)" ( (binary_expression "(uint)local_90[0xb] & 2" (cast_expression "(uint)local_90[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_90[0xb]" identifier [ number_literal ])) & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_0009d701;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }" statement_identifier : (if_statement "if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }" if (parenthesized_expression "((local_90[2][0x2c] & 1) != 0)" ( (binary_expression "(local_90[2][0x2c] & 1) != 0" (parenthesized_expression "(local_90[2][0x2c] & 1)" ( (binary_expression "local_90[2][0x2c] & 1" (subscript_expression "local_90[2][0x2c]" (subscript_expression "local_90[2]" identifier [ number_literal ]) [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }" { (labeled_statement "LAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }" statement_identifier : (if_statement "if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }" if (parenthesized_expression "(bVar24 == 2)" ( (binary_expression "bVar24 == 2" identifier == number_literal) )) (compound_statement "{\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }" { (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19ca5d" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9e2b5" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }" else (if_statement "if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }" if (parenthesized_expression "(bVar24 < 3)" ( (binary_expression "bVar24 < 3" identifier < number_literal) )) (compound_statement "{\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }" { (if_statement "if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }" if (parenthesized_expression "(bVar24 != 1)" ( (binary_expression "bVar24 != 1" identifier != number_literal) )) (compound_statement "{\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }" { (labeled_statement "LAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;" statement_identifier : (expression_statement "*(undefined ***)(puVar22 + -4) = ppuVar17;" (assignment_expression "*(undefined ***)(puVar22 + -4) = ppuVar17" (pointer_expression "*(undefined ***)(puVar22 + -4)" * (cast_expression "(undefined ***)(puVar22 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64fbc" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0xa4;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0xa4" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19cb27" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f3c5" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19ca66" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d99d;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d99d" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }" else (compound_statement "{\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }" { (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x19ca56" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d344;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d344" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) })))))) (expression_statement "puVar3 = *local_90;" (assignment_expression "puVar3 = *local_90" identifier = (pointer_expression "*local_90" * identifier)) ;) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_94 + -0x67173" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d368;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d368" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar10 = gettext();" (assignment_expression "uVar10 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined **)(puVar22 + -8) = puVar3;" (assignment_expression "*(undefined **)(puVar22 + -8) = puVar3" (pointer_expression "*(undefined **)(puVar22 + -8)" * (cast_expression "(undefined **)(puVar22 + -8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar10;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar10" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d379;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d379" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b810();" (call_expression "FUN_0023b810()" identifier (argument_list "()" ( ))) ;) }))) (goto_statement "goto LAB_0009d380;" goto statement_identifier ;) })) (labeled_statement "LAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));" statement_identifier : (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" identifier = (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" identifier (argument_list "(local_9c._1_3_,*(code *)(local_90 + 10))" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , (pointer_expression "*(code *)(local_90 + 10)" * (cast_expression "(code *)(local_90 + 10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 10)" ( (binary_expression "local_90 + 10" identifier + number_literal) )))) ))))) ;)) (if_statement "if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }" if (parenthesized_expression "(((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))" ( (binary_expression "((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0)" (parenthesized_expression "((byte)*(code *)(local_90 + 10) >> 4 == 2)" ( (binary_expression "(byte)*(code *)(local_90 + 10) >> 4 == 2" (binary_expression "(byte)*(code *)(local_90 + 10) >> 4" (binary_expression "(byte)*(code *)(local_90 + 10)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)(local_90 + 10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 10)" ( (binary_expression "local_90 + 10" identifier + number_literal) )))) >> number_literal) == number_literal) )) || (parenthesized_expression "(((uint)local_90[0xb] & 2) != 0)" ( (binary_expression "((uint)local_90[0xb] & 2) != 0" (parenthesized_expression "((uint)local_90[0xb] & 2)" ( (binary_expression "(uint)local_90[0xb] & 2" (cast_expression "(uint)local_90[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_90[0xb]" identifier [ number_literal ])) & number_literal) )) != number_literal) ))) )) (compound_statement "{\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }" { (labeled_statement "LAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));" statement_identifier : (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" identifier = (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" identifier (argument_list "(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , (pointer_expression "*(code *)((int)local_90 + 0x29)" * (cast_expression "(code *)((int)local_90 + 0x29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x29)" ( (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;)) (expression_statement "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;" (assignment_expression "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3" identifier = (binary_expression "(byte)*(code *)((int)local_90 + 0x29) & 3" (binary_expression "(byte)*(code *)((int)local_90 + 0x29)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x29)" ( (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (labeled_statement "LAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;" statement_identifier : (if_statement "if (bVar24 == 0) goto LAB_0009d380;" if (parenthesized_expression "(bVar24 == 0)" ( (binary_expression "bVar24 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009d380;" goto statement_identifier ;))) (expression_statement "cVar19 = *(code *)((int)local_90 + 0x2a);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x2a)" identifier = (pointer_expression "*(code *)((int)local_90 + 0x2a)" * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "ppuVar17 = (undefined **)(uint)(byte)cVar19;" (assignment_expression "ppuVar17 = (undefined **)(uint)(byte)cVar19" identifier = (cast_expression "(undefined **)(uint)(byte)cVar19" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(uint)(byte)cVar19" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier)))) ;) (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19)" identifier = (cast_expression "(byte **)CONCAT31(local_9c._1_3_,cVar19)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_9c._1_3_,cVar19)" identifier (argument_list "(local_9c._1_3_,cVar19)" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "bVar18 = (byte)cVar19 & 7;" (assignment_expression "bVar18 = (byte)cVar19 & 7" identifier = (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (if_statement "if (bVar18 != 0) goto LAB_0009d6cc;" if (parenthesized_expression "(bVar18 != 0)" ( (binary_expression "bVar18 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009d6cc;" goto statement_identifier ;)) (goto_statement "goto LAB_0009d2fb;" goto statement_identifier ;) })) (expression_statement "ppuVar20 = local_94 + 0x1f2;" (assignment_expression "ppuVar20 = local_94 + 0x1f2" identifier = (binary_expression "local_94 + 0x1f2" identifier + number_literal)) ;) (if_statement "if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }" if (parenthesized_expression "(*(int *)(*ppuVar20 + 8) == 0)" ( (binary_expression "*(int *)(*ppuVar20 + 8) == 0" (pointer_expression "*(int *)(*ppuVar20 + 8)" * (cast_expression "(int *)(*ppuVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppuVar20 + 8)" ( (binary_expression "*ppuVar20 + 8" (pointer_expression "*ppuVar20" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }" { (expression_statement "*(undefined4 *)(puVar22 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -4)" * (cast_expression "(undefined4 *)(puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64ebf" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f447;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f447" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;" if (parenthesized_expression "(*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0')" ( (binary_expression "*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0'" (pointer_expression "*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1)" * (cast_expression "(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*ppuVar20 + 8) + 0x49b1)" ( (binary_expression "*(int *)(*ppuVar20 + 8) + 0x49b1" (pointer_expression "*(int *)(*ppuVar20 + 8)" * (cast_expression "(int *)(*ppuVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppuVar20 + 8)" ( (binary_expression "*ppuVar20 + 8" (pointer_expression "*ppuVar20" * identifier) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009d970;" goto statement_identifier ;)) (if_statement "if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }" if (parenthesized_expression "((char)*(code *)((int)local_90 + 0x2b) < '\0')" ( (binary_expression "(char)*(code *)((int)local_90 + 0x2b) < '\0'" (cast_expression "(char)*(code *)((int)local_90 + 0x2b)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(code *)((int)local_90 + 0x2b)" * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }" { (if_statement "if (bVar24 != 0) goto LAB_0009d6b0;" if (parenthesized_expression "(bVar24 != 0)" ( (binary_expression "bVar24 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009d6b0;" goto statement_identifier ;)) (expression_statement "ppuVar20 = local_94 + -0x15e4b4;" (assignment_expression "ppuVar20 = local_94 + -0x15e4b4" identifier = (binary_expression "local_94 + -0x15e4b4" identifier + number_literal)) ;) (labeled_statement "LAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];" statement_identifier : (expression_statement "ppuVar17 = (undefined **)local_90[2];" (assignment_expression "ppuVar17 = (undefined **)local_90[2]" identifier = (cast_expression "(undefined **)local_90[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_90[2]" identifier [ number_literal ]))) ;)) (expression_statement "ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);" (assignment_expression "ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14)" identifier = (pointer_expression "*(undefined ***)(*ppuVar17 + 0x14)" * (cast_expression "(undefined ***)(*ppuVar17 + 0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*ppuVar17 + 0x14)" ( (binary_expression "*ppuVar17 + 0x14" (pointer_expression "*ppuVar17" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar2 == ppuVar20) goto LAB_0009d2df;" if (parenthesized_expression "(ppuVar2 == ppuVar20)" ( (binary_expression "ppuVar2 == ppuVar20" identifier == identifier) )) (goto_statement "goto LAB_0009d2df;" goto statement_identifier ;)) (expression_statement "*(undefined ***)(puVar22 + -0x10) = ppuVar17;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = ppuVar17" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d91c;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d91c" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar11 = (*(code *)ppuVar2)();" (assignment_expression "iVar11 = (*(code *)ppuVar2)()" identifier = (call_expression "(*(code *)ppuVar2)()" (parenthesized_expression "(*(code *)ppuVar2)" ( (pointer_expression "*(code *)ppuVar2" * (cast_expression "(code *)ppuVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "ppuVar20 = local_e0;" (assignment_expression "ppuVar20 = local_e0" identifier = identifier) ;) (if_statement "if (iVar11 != 0) goto LAB_0009d779;" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009d779;" goto statement_identifier ;)) (labeled_statement "LAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));" statement_identifier : (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" identifier = (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" identifier (argument_list "(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , (pointer_expression "*(code *)((int)local_90 + 0x29)" * (cast_expression "(code *)((int)local_90 + 0x29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x29)" ( (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;)) (expression_statement "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;" (assignment_expression "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3" identifier = (binary_expression "(byte)*(code *)((int)local_90 + 0x29) & 3" (binary_expression "(byte)*(code *)((int)local_90 + 0x29)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x29)" ( (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (goto_statement "goto LAB_0009d943;" goto statement_identifier ;) })) (labeled_statement "LAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);" statement_identifier : (expression_statement "piVar4 = *(int **)(*ppuVar20 + 0xc);" (assignment_expression "piVar4 = *(int **)(*ppuVar20 + 0xc)" identifier = (pointer_expression "*(int **)(*ppuVar20 + 0xc)" * (cast_expression "(int **)(*ppuVar20 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*ppuVar20 + 0xc)" ( (binary_expression "*ppuVar20 + 0xc" (pointer_expression "*ppuVar20" * identifier) + number_literal) ))))) ;)) (if_statement "if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }" if (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64fb7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x69;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x69" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f336;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f336" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar11 = *piVar4;" (assignment_expression "iVar11 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "*(undefined ***)(puVar22 + -0xc) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0xc) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0xc)" * (cast_expression "(undefined ***)(puVar22 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar22 + -0x10) = piVar4;" (assignment_expression "*(int **)(puVar22 + -0x10) = piVar4" (pointer_expression "*(int **)(puVar22 + -0x10)" * (cast_expression "(int **)(puVar22 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar1 = *(code **)(iVar11 + 0x1c);" (assignment_expression "pcVar1 = *(code **)(iVar11 + 0x1c)" identifier = (pointer_expression "*(code **)(iVar11 + 0x1c)" * (cast_expression "(code **)(iVar11 + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x1c)" ( (binary_expression "iVar11 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d795;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d795" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = (*pcVar1)();" (assignment_expression "cVar7 = (*pcVar1)()" identifier = (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (cVar7 != '\0') goto LAB_0009d930;" if (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009d930;" goto statement_identifier ;)) (expression_statement "ppuVar20 = *(undefined ***)(*ppuVar20 + 8);" (assignment_expression "ppuVar20 = *(undefined ***)(*ppuVar20 + 8)" identifier = (pointer_expression "*(undefined ***)(*ppuVar20 + 8)" * (cast_expression "(undefined ***)(*ppuVar20 + 8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*ppuVar20 + 8)" ( (binary_expression "*ppuVar20 + 8" (pointer_expression "*ppuVar20" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }" if (parenthesized_expression "(ppuVar20 == (undefined **)0x0)" ( (binary_expression "ppuVar20 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }" { (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64ebf" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f398;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f398" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "pbVar21 = ppuVar20[0x10b9];" (assignment_expression "pbVar21 = ppuVar20[0x10b9]" identifier = (subscript_expression "ppuVar20[0x10b9]" identifier [ number_literal ])) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar28 = pbVar21 == (byte *)0x0;" (assignment_expression "bVar28 = 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 (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }" if (parenthesized_expression "(bVar28)" ( identifier )) (compound_statement "{\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }" { (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" identifier = (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" identifier (argument_list "(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , (pointer_expression "*(code *)((int)local_90 + 0x29)" * (cast_expression "(code *)((int)local_90 + 0x29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x29)" ( (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;" (assignment_expression "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3" identifier = (binary_expression "(byte)*(code *)((int)local_90 + 0x29) & 3" (binary_expression "(byte)*(code *)((int)local_90 + 0x29)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x29)" ( (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (labeled_statement "LAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;" statement_identifier : (if_statement "if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;" if (parenthesized_expression "((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0))))" ( (binary_expression "(bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))" (parenthesized_expression "(bVar24 == 2)" ( (binary_expression "bVar24 == 2" identifier == number_literal) )) || (parenthesized_expression "((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))" ( (parenthesized_expression "(*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0))" ( (binary_expression "*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)" (binary_expression "*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0" (pointer_expression "*(code *)((int)ppuVar20 + 0x1a25)" * (cast_expression "(code *)((int)ppuVar20 + 0x1a25)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar20 + 0x1a25)" ( (binary_expression "(int)ppuVar20 + 0x1a25" (cast_expression "(int)ppuVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) || (parenthesized_expression "(*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)" ( (binary_expression "*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0" (pointer_expression "*(code *)((int)ppuVar20 + 0x4eb5)" * (cast_expression "(code *)((int)ppuVar20 + 0x4eb5)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar20 + 0x4eb5)" ( (binary_expression "(int)ppuVar20 + 0x4eb5" (cast_expression "(int)ppuVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) ))) )) (goto_statement "goto LAB_0009d874;" goto statement_identifier ;))) (goto_statement "goto LAB_0009d943;" goto statement_identifier ;) })) (expression_statement "iVar11 = 0xb;" (assignment_expression "iVar11 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar13 = pbVar21;" (assignment_expression "pbVar13 = pbVar21" identifier = identifier) ;) (expression_statement "pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);" (assignment_expression "pbVar25 = (byte *)((int)local_94 + -0x1a1fa6)" identifier = (cast_expression "(byte *)((int)local_94 + -0x1a1fa6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x1a1fa6)" ( (binary_expression "(int)local_94 + -0x1a1fa6" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);" do (compound_statement "{\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar13 < *pbVar25;" (assignment_expression "bVar26 = *pbVar13 < *pbVar25" identifier = (binary_expression "*pbVar13 < *pbVar25" (pointer_expression "*pbVar13" * identifier) < (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "bVar28 = *pbVar13 == *pbVar25;" (assignment_expression "bVar28 = *pbVar13 == *pbVar25" identifier = (binary_expression "*pbVar13 == *pbVar25" (pointer_expression "*pbVar13" * identifier) == (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar25 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar28)" ( identifier )) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar26 && !bVar28) == bVar26;" (assignment_expression "bVar26 = (!bVar26 && !bVar28) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar28) == bVar26" (parenthesized_expression "(!bVar26 && !bVar28)" ( (binary_expression "!bVar26 && !bVar28" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar28" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar26) goto LAB_0009d930;" if (parenthesized_expression "(bVar26)" ( identifier )) (goto_statement "goto LAB_0009d930;" goto statement_identifier ;)) (expression_statement "iVar11 = 0xb;" (assignment_expression "iVar11 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar13 = pbVar21;" (assignment_expression "pbVar13 = pbVar21" identifier = identifier) ;) (expression_statement "pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);" (assignment_expression "pbVar25 = (byte *)((int)local_94 + -0x1a1f9b)" identifier = (cast_expression "(byte *)((int)local_94 + -0x1a1f9b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x1a1f9b)" ( (binary_expression "(int)local_94 + -0x1a1f9b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);" do (compound_statement "{\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar13 < *pbVar25;" (assignment_expression "bVar27 = *pbVar13 < *pbVar25" identifier = (binary_expression "*pbVar13 < *pbVar25" (pointer_expression "*pbVar13" * identifier) < (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "bVar26 = *pbVar13 == *pbVar25;" (assignment_expression "bVar26 = *pbVar13 == *pbVar25" identifier = (binary_expression "*pbVar13 == *pbVar25" (pointer_expression "*pbVar13" * identifier) == (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar25 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar27 && !bVar26) == bVar27;" (assignment_expression "bVar26 = (!bVar27 && !bVar26) == bVar27" identifier = (binary_expression "(!bVar27 && !bVar26) == bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" ( (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }" { (expression_statement "iVar11 = 0x17;" (assignment_expression "iVar11 = 0x17" identifier = number_literal) ;) (expression_statement "pbVar13 = pbVar21;" (assignment_expression "pbVar13 = pbVar21" identifier = identifier) ;) (expression_statement "ppuVar17 = local_94 + -0x687e4;" (assignment_expression "ppuVar17 = local_94 + -0x687e4" identifier = (binary_expression "local_94 + -0x687e4" identifier + number_literal)) ;) (do_statement "do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);" do (compound_statement "{\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar13 < *(byte *)ppuVar17;" (assignment_expression "bVar28 = *pbVar13 < *(byte *)ppuVar17" identifier = (binary_expression "*pbVar13 < *(byte *)ppuVar17" (pointer_expression "*pbVar13" * identifier) < (pointer_expression "*(byte *)ppuVar17" * (cast_expression "(byte *)ppuVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar26 = *pbVar13 == *(byte *)ppuVar17;" (assignment_expression "bVar26 = *pbVar13 == *(byte *)ppuVar17" identifier = (binary_expression "*pbVar13 == *(byte *)ppuVar17" (pointer_expression "*pbVar13" * identifier) == (pointer_expression "*(byte *)ppuVar17" * (cast_expression "(byte *)ppuVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);" (assignment_expression "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar17 + (uint)bVar29 * -2 + 1)" ( (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2 + 1" (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2" (cast_expression "(int)ppuVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" identifier = (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" identifier (argument_list "(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , (pointer_expression "*(code *)((int)local_90 + 0x29)" * (cast_expression "(code *)((int)local_90 + 0x29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x29)" ( (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;" (assignment_expression "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3" identifier = (binary_expression "(byte)*(code *)((int)local_90 + 0x29) & 3" (binary_expression "(byte)*(code *)((int)local_90 + 0x29)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x29)" ( (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (expression_statement "bVar26 = (!bVar28 && !bVar26) == bVar28;" (assignment_expression "bVar26 = (!bVar28 && !bVar26) == bVar28" identifier = (binary_expression "(!bVar28 && !bVar26) == bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" ( (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }" if (parenthesized_expression "((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26))" ( (binary_expression "(!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)" (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) || (parenthesized_expression "(bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)" ( (comma_expression "bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26" (assignment_expression "bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0" identifier = (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 1)" ( (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 1" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal)) , (unary_expression "!bVar26" ! identifier)) ))) )) (compound_statement "{\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }" { (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "iVar11 = 0x16;" (assignment_expression "iVar11 = 0x16" identifier = number_literal) ;) (expression_statement "pbVar13 = (byte *)((int)local_94 + -0x1a1f79);" (assignment_expression "pbVar13 = (byte *)((int)local_94 + -0x1a1f79)" identifier = (cast_expression "(byte *)((int)local_94 + -0x1a1f79)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + -0x1a1f79)" ( (binary_expression "(int)local_94 + -0x1a1f79" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);" do (compound_statement "{\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar21 < *pbVar13;" (assignment_expression "bVar28 = *pbVar21 < *pbVar13" identifier = (binary_expression "*pbVar21 < *pbVar13" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "bVar26 = *pbVar21 == *pbVar13;" (assignment_expression "bVar26 = *pbVar21 == *pbVar13" identifier = (binary_expression "*pbVar21 == *pbVar13" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (if_statement "if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;" if (parenthesized_expression "(((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0'))" ( (binary_expression "((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')" (parenthesized_expression "((!bVar28 && !bVar26) != bVar28)" ( (binary_expression "(!bVar28 && !bVar26) != bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" ( (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) != identifier) )) || (parenthesized_expression "((char)*(code *)((int)local_90 + 0x2a) < '\0')" ( (binary_expression "(char)*(code *)((int)local_90 + 0x2a) < '\0'" (cast_expression "(char)*(code *)((int)local_90 + 0x2a)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(code *)((int)local_90 + 0x2a)" * (cast_expression "(code *)((int)local_90 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2a)" ( (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_0009d85a;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0009d943;" goto statement_identifier ;) })) (labeled_statement "LAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;" statement_identifier : (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_c4 >> 0x1f" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;)) (expression_statement "*(uint *)(puVar22 + -0x14) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -0x14) = local_c4" (pointer_expression "*(uint *)(puVar22 + -0x14)" * (cast_expression "(uint *)(puVar22 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -0x18) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x18) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x18)" * (cast_expression "(int *)(puVar22 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar22 + -0x1c) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x1c) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x1c)" * (cast_expression "(undefined4 **)(puVar22 + -0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar22 + -0x20) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0x20) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0x20)" * (cast_expression "(undefined ***)(puVar22 + -0x20)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x20)" ( (binary_expression "puVar22 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9d89a;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9d89a" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" * (cast_expression "(undefined4 *)(puVar22 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x24)" ( (binary_expression "puVar22 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023c700();" (call_expression "FUN_0023c700()" identifier (argument_list "()" ( ))) ;) (expression_statement "cVar19 = *(code *)((int)local_90 + 0x2b);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x2b)" identifier = (pointer_expression "*(code *)((int)local_90 + 0x2b)" * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "ppuVar17 = local_90;" (assignment_expression "ppuVar17 = local_90" identifier = identifier) ;) }) (else_clause "else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }" else (compound_statement "{\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }" { (if_statement "if (bVar24 == 4) goto LAB_0009d63d;" if (parenthesized_expression "(bVar24 == 4)" ( (binary_expression "bVar24 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0009d63d;" goto statement_identifier ;)) (labeled_statement "LAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);" statement_identifier : (expression_statement "cVar8 = *(code *)((int)local_90 + 0x29);" (assignment_expression "cVar8 = *(code *)((int)local_90 + 0x29)" identifier = (pointer_expression "*(code *)((int)local_90 + 0x29)" * (cast_expression "(code *)((int)local_90 + 0x29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x29)" ( (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8)" identifier = (cast_expression "(byte **)CONCAT31(local_9c._1_3_,cVar8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_9c._1_3_,cVar8)" identifier (argument_list "(local_9c._1_3_,cVar8)" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "bVar24 = (byte)cVar8 & 3;" (assignment_expression "bVar24 = (byte)cVar8 & 3" identifier = (binary_expression "(byte)cVar8 & 3" (cast_expression "(byte)cVar8" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (if_statement "if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }" if (parenthesized_expression "(((byte)cVar8 & 3) != 0)" ( (binary_expression "((byte)cVar8 & 3) != 0" (parenthesized_expression "((byte)cVar8 & 3)" ( (binary_expression "(byte)cVar8 & 3" (cast_expression "(byte)cVar8" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }" { (expression_statement "bVar18 = (byte)cVar19 & 7;" (assignment_expression "bVar18 = (byte)cVar19 & 7" identifier = (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (labeled_statement "LAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }" statement_identifier : (if_statement "if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }" if (parenthesized_expression "(bVar18 == 4)" ( (binary_expression "bVar18 == 4" identifier == number_literal) )) (compound_statement "{\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }" { (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" identifier = (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" identifier (argument_list "(local_9c._1_3_,*(code *)(local_90 + 10))" ( (field_expression "local_9c._1_3_" identifier . field_identifier) , (pointer_expression "*(code *)(local_90 + 10)" * (cast_expression "(code *)(local_90 + 10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 10)" ( (binary_expression "local_90 + 10" identifier + number_literal) )))) ))))) ;) (if_statement "if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;" if (parenthesized_expression "(((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0))" ( (binary_expression "((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)" (parenthesized_expression "((byte)*(code *)(local_90 + 10) >> 4 == 2)" ( (binary_expression "(byte)*(code *)(local_90 + 10) >> 4 == 2" (binary_expression "(byte)*(code *)(local_90 + 10) >> 4" (binary_expression "(byte)*(code *)(local_90 + 10)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(code *)(local_90 + 10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 10)" ( (binary_expression "local_90 + 10" identifier + number_literal) )))) >> number_literal) == number_literal) )) || (parenthesized_expression "(bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)" ( (comma_expression "bVar18 = 4, ((uint)local_90[0xb] & 2) != 0" (assignment_expression "bVar18 = 4" identifier = number_literal) , (binary_expression "((uint)local_90[0xb] & 2) != 0" (parenthesized_expression "((uint)local_90[0xb] & 2)" ( (binary_expression "(uint)local_90[0xb] & 2" (cast_expression "(uint)local_90[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_90[0xb]" identifier [ number_literal ])) & number_literal) )) != number_literal)) ))) )) (goto_statement "goto LAB_0009d380;" goto statement_identifier ;)) (labeled_statement "LAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);" statement_identifier : (expression_statement "ppuVar17 = *(undefined ***)(*local_dc + 8);" (assignment_expression "ppuVar17 = *(undefined ***)(*local_dc + 8)" identifier = (pointer_expression "*(undefined ***)(*local_dc + 8)" * (cast_expression "(undefined ***)(*local_dc + 8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*local_dc + 8)" ( (binary_expression "*local_dc + 8" (pointer_expression "*local_dc" * identifier) + number_literal) ))))) ;)) (if_statement "if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }" if (parenthesized_expression "(ppuVar17 == (undefined **)0x0)" ( (binary_expression "ppuVar17 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }" { (expression_statement "*(undefined ***)(puVar22 + -4) = ppuVar20;" (assignment_expression "*(undefined ***)(puVar22 + -4) = ppuVar20" (pointer_expression "*(undefined ***)(puVar22 + -4)" * (cast_expression "(undefined ***)(puVar22 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf" (pointer_expression "*(undefined ***)(puVar22 + -8)" * (cast_expression "(undefined ***)(puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (binary_expression "local_94 + -0x64ebf" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar22 + -0x14) = &UNK_0009f171;" (assignment_expression "*(undefined **)(puVar22 + -0x14) = &UNK_0009f171" (pointer_expression "*(undefined **)(puVar22 + -0x14)" * (cast_expression "(undefined **)(puVar22 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0009f171" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;" if (parenthesized_expression "(*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0)" ( (binary_expression "*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0" (pointer_expression "*(code *)((int)ppuVar17 + 0x49b1)" * (cast_expression "(code *)((int)ppuVar17 + 0x49b1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar17 + 0x49b1)" ( (binary_expression "(int)ppuVar17 + 0x49b1" (cast_expression "(int)ppuVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_0009d321;" goto statement_identifier ;)) (if_statement "if (bVar18 == 0) goto LAB_0009d312;" if (parenthesized_expression "(bVar18 == 0)" ( (binary_expression "bVar18 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009d312;" goto statement_identifier ;)) }))) })) (labeled_statement "LAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);" statement_identifier : (expression_statement "cVar19 = *(code *)((int)local_90 + 0x2b);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x2b)" identifier = (pointer_expression "*(code *)((int)local_90 + 0x2b)" * (cast_expression "(code *)((int)local_90 + 0x2b)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + 0x2b)" ( (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "ppuVar17 = local_90;" (assignment_expression "ppuVar17 = local_90" identifier = identifier) ;) }))) (expression_statement "local_90 = ppuVar17;" (assignment_expression "local_90 = ppuVar17" identifier = identifier) ;) (if_statement "if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }" if (parenthesized_expression "(((byte)cVar19 & 4) != 0)" ( (binary_expression "((byte)cVar19 & 4) != 0" (parenthesized_expression "((byte)cVar19 & 4)" ( (binary_expression "(byte)cVar19 & 4" (cast_expression "(byte)cVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }" { (expression_statement "*(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;" (assignment_expression "*(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f" (pointer_expression "*(int *)(puVar22 + -0xc)" * (cast_expression "(int *)(puVar22 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (binary_expression "(int)local_c4 >> 0x1f" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)(puVar22 + -0x10) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -0x10) = local_c4" (pointer_expression "*(uint *)(puVar22 + -0x10)" * (cast_expression "(uint *)(puVar22 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -0x14) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x14) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x14)" * (cast_expression "(int *)(puVar22 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_90 = (undefined **)*param_2;" (assignment_expression "local_90 = (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 **)(puVar22 + -0x18) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x18) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x18)" * (cast_expression "(undefined4 **)(puVar22 + -0x18)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar22 + -0x1c) = ppuVar17;" (assignment_expression "*(undefined ***)(puVar22 + -0x1c) = ppuVar17" (pointer_expression "*(undefined ***)(puVar22 + -0x1c)" * (cast_expression "(undefined ***)(puVar22 + -0x1c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;" (assignment_expression "*(undefined ***)(puVar22 + -0x20) = local_90 + 0x40" (pointer_expression "*(undefined ***)(puVar22 + -0x20)" * (cast_expression "(undefined ***)(puVar22 + -0x20)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x20)" ( (binary_expression "puVar22 + -0x20" identifier + number_literal) )))) = (binary_expression "local_90 + 0x40" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9d8e4" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" * (cast_expression "(undefined4 *)(puVar22 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x24)" ( (binary_expression "puVar22 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003509b0();" (call_expression "FUN_003509b0()" identifier (argument_list "()" ( ))) ;) })) })) }) (else_clause "else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }" else (compound_statement "{\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }" { (labeled_statement "LAB_0009dd10:\n            local_78 = param_4;" statement_identifier : (expression_statement "local_78 = param_4;" (assignment_expression "local_78 = param_4" identifier = identifier) ;)) (if_statement "if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }" if (parenthesized_expression "(local_b8 != 0x3a)" ( (binary_expression "local_b8 != 0x3a" identifier != number_literal) )) (compound_statement "{\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_94 + -0x671be" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9dd30;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9dd30" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = *local_78;" (assignment_expression "uVar9 = *local_78" identifier = (pointer_expression "*local_78" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "*(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (pointer_expression "*(uint *)(puVar22 + -0x18)" * (cast_expression "(uint *)(puVar22 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x18)" ( (binary_expression "puVar22 + -0x18" identifier + number_literal) )))) = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "*(int *)(puVar22 + -0x1c) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x1c) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x1c)" * (cast_expression "(int *)(puVar22 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x1c)" ( (binary_expression "puVar22 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar22 + -0x20) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x20) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x20)" * (cast_expression "(undefined4 **)(puVar22 + -0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x20)" ( (binary_expression "puVar22 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9dd4e" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" * (cast_expression "(undefined4 *)(puVar22 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x24)" ( (binary_expression "puVar22 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023be30();" (call_expression "FUN_0023be30()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0009cdf2;" goto statement_identifier ;) })) (expression_statement "local_74 = '\0';" (assignment_expression "local_74 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }))) }))) (expression_statement "*(byte ***)(puVar22 + -0x10) = local_d0;" (assignment_expression "*(byte ***)(puVar22 + -0x10) = local_d0" (pointer_expression "*(byte ***)(puVar22 + -0x10)" * (cast_expression "(byte ***)(puVar22 + -0x10)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d39e;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d39e" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072240();" (call_expression "FUN_00072240()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(byte ***)(puVar22 + -0x10) = local_bc;" (assignment_expression "*(byte ***)(puVar22 + -0x10) = local_bc" (pointer_expression "*(byte ***)(puVar22 + -0x10)" * (cast_expression "(byte ***)(puVar22 + -0x10)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d3aa" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072240();" (call_expression "FUN_00072240()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }" else (compound_statement "{\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }" { (expression_statement "*(uint *)(puVar22 + -4) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -4) = local_c4" (pointer_expression "*(uint *)(puVar22 + -4)" * (cast_expression "(uint *)(puVar22 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -8) = param_2[6];" (assignment_expression "*(undefined4 *)(puVar22 + -8) = param_2[6]" (pointer_expression "*(undefined4 *)(puVar22 + -8)" * (cast_expression "(undefined4 *)(puVar22 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = (subscript_expression "param_2[6]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = param_2[2];" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = param_2[2]" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" * (cast_expression "(undefined4 *)(puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = param_6;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = param_6" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9dff8;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9dff8" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_c4 = FUN_002cda80();" (assignment_expression "local_c4 = FUN_002cda80()" identifier = (call_expression "FUN_002cda80()" identifier (argument_list "()" ( )))) ;) (if_statement "if (local_c4 != 0xffffffff) goto LAB_0009cc8a;" if (parenthesized_expression "(local_c4 != 0xffffffff)" ( (binary_expression "local_c4 != 0xffffffff" identifier != number_literal) )) (goto_statement "goto LAB_0009cc8a;" goto statement_identifier ;)) }))) (expression_statement "local_b4 = local_b4 + 1;" (assignment_expression "local_b4 = local_b4 + 1" identifier = (binary_expression "local_b4 + 1" identifier + number_literal)) ;) (expression_statement "param_4 = param_4 + 3;" (assignment_expression "param_4 = param_4 + 3" identifier = (binary_expression "param_4 + 3" identifier + number_literal)) ;) (expression_statement "puVar6 = puVar22;" (assignment_expression "puVar6 = puVar22" identifier = identifier) ;) }) while (parenthesized_expression "(param_5 != local_b4)" ( (binary_expression "param_5 != local_b4" identifier != identifier) )) ;) })) (if_statement "if (local_74 == '\0') {\n    return;\n  }" if (parenthesized_expression "(local_74 == '\0')" ( (binary_expression "local_74 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_94 + -0x671be" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f087;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f087" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f08f;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f08f" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b810();" (call_expression "FUN_0023b810()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(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 (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (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 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 IDENT ;) (declaration TYPE (pointer_declarator * 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 (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (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 (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE 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 * (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) ;) (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 = LIT) ;) (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) ;) (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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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))) ))) )) (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 (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 ( ))) ;) }))) (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) )))) = (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (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 != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (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 (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 *))) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 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 * (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 ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT)) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression 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)) ;) }) (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))) ))) )) (goto_statement goto statement_identifier ;)) (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 (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == 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 IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (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 ( (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 ( ))) ;) })) (goto_statement goto 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 ( ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (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 (binary_expression (parenthesized_expression ( IDENT )) * (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 LIT < (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) )))))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == 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 (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (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 = (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 (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 = IDENT) ;) (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 = 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 = 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 = 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 = 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 = IDENT) ;) (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 = 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 = 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 = IDENT) ;) (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 = IDENT) ;) (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 = IDENT) ;) (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 * (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)) ;) (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 ]) + IDENT)) ;) })) (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 = 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 IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 (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 (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 = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (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 == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) }) (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 LIT < (binary_expression IDENT - LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (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 (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (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) )))) = (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 { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )) >> LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + LIT) )) * LIT) + IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )) >> LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 ( )))) ;) (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 (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 ( ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (goto_statement goto statement_identifier ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT - LIT) ))) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (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 ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }) (else_clause else (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 (field_expression IDENT . field_identifier) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (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 (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (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 ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & 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 (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == 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 (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) >> 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 ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 & IDENT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (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 * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT) + LIT) )) * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) })) (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 IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (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 IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (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 IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (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 IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == 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) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (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 ;))) })))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (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 (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)) })))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 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 (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (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 ( ))) ;) })) (while_statement while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 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 (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression IDENT - LIT) ]) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) )) (argument_list ( ))) ;) (return_statement return ;) })) (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 IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 ( ))) ;) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (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 (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression 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 { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & 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 (cast_expression ( (type_descriptor TYPE) ) 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 ')) )) (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)) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement 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 (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != 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 IDENT + LIT) )))) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (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 *))) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (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 (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) & LIT) )) != LIT) )) (compound_statement { (labeled_statement 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 { (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) )))) = (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 = (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 *))) ) (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 ( ))) ;) }))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (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) )))) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) == LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) != LIT) ))) )) (compound_statement { (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 (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 *))) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) 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) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (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 ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (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 * (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) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (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 (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT)) ;) (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 * (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 ( )))) ;) (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 * (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 * (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 = (subscript_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 (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (cast_expression ( (type_descriptor TYPE) ) LIT)) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (cast_expression ( (type_descriptor TYPE) ) LIT)) ))) )) ))) )) (goto_statement goto statement_identifier ;))) (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 *)) ) (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 ( 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 *)) ) (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 = 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 (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (unary_expression ! IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT)) , (unary_expression ! IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (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 (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 ;)) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 = (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 = IDENT) ;) }) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (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) )))) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> 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 : (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 == (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 * (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 * (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) )))) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (goto_statement goto statement_identifier ;)) (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 = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (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 (call_expression IDENT (argument_list ( ))) ;) })) })) }) (else_clause else (compound_statement { (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 (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 IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 ( ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) }))) }))) (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)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return ;) })) (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 ;) })))
(function_definition "void FUN_0009cbc0(int param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,int param_9,uint param_10,int *param_11\n                 )\n\n{\n  code *pcVar1;\n  undefined **ppuVar2;\n  undefined *puVar3;\n  int *piVar4;\n  int iVar5;\n  undefined1 *puVar6;\n  char cVar7;\n  code cVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  byte *pbVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  byte bVar16;\n  undefined **ppuVar17;\n  undefined4 extraout_ECX;\n  undefined **extraout_ECX_00;\n  byte bVar18;\n  code cVar19;\n  undefined **ppuVar20;\n  byte *pbVar21;\n  undefined1 *puVar22;\n  undefined1 *puVar23;\n  byte bVar24;\n  byte *pbVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  undefined1 auStack_ec [12];\n  undefined **local_e0;\n  undefined **local_dc;\n  uint local_d8;\n  char local_d1;\n  byte **local_d0;\n  int *local_cc;\n  int local_c8;\n  uint local_c4;\n  int local_c0;\n  byte **local_bc;\n  uint local_b8;\n  int local_b4;\n  byte **local_b0;\n  uint local_ac;\n  int local_a8;\n  int *local_a4;\n  uint local_a0;\n  byte **local_9c;\n  int local_98;\n  undefined **local_94;\n  undefined **local_90;\n  undefined1 local_81;\n  undefined1 local_80 [4];\n  int local_7c;\n  uint *local_78;\n  char local_74;\n  int local_70;\n  byte *local_6c;\n  undefined4 local_68;\n  uint local_64;\n  undefined *local_60;\n  byte *local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  byte *local_50;\n  byte *local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined *local_40;\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  bVar29 = 0;\n  local_94 = &__DT_PLTGOT;\n  local_d1 = param_7;\n  if (param_3 != 4) {\n                    \n    FUN_002446e0("../../gold/sparc.cc",0x10a1,"relocate_section");\n  }\n  local_74 = '\0';\n  local_70 = 0;\n  local_cc = (int *)param_2[2];\n  pcVar1 = *(code **)(*local_cc + 0x8c);\n  if (pcVar1 == FUN_00070d40) {\n                    \n    local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc);\n  }\n  else {\n                    \n    local_d8 = (*pcVar1)(local_cc);\n  }\n  puVar22 = auStack_ec;\n  local_c0 = 0;\n  local_b4 = 0;\n  local_e0 = local_94 + 0x1f2;\n  puVar6 = auStack_ec;\n  local_dc = local_e0;\n  if (param_5 != 0) {\n    do {\n      puVar22 = puVar6;\n      uVar9 = *param_4;\n      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      param_4 = param_4 + 3;\n      puVar6 = puVar22;\n    } while (param_5 != local_b4);\n  }\n  if (local_74 == '\0') {\n    return;\n  }\n  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n  *(undefined4 *)(puVar22 + -0x14) = 0x9f087;\n  uVar15 = gettext();\n  *(undefined4 *)(puVar22 + -0x10) = uVar15;\n  *(undefined4 *)(puVar22 + -0x14) = 0x9f08f;\n  FUN_0023b810();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0009cbc0(int param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,int param_9,uint param_10,int *param_11\n                 )" (identifier "FUN_0009cbc0") (parameter_list "(int param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,int param_9,uint param_10,int *param_11\n                 )" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (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 "int param_9" (primitive_type "int") (identifier "param_9")) (, ",") (parameter_declaration "uint param_10" (type_identifier "uint") (identifier "param_10")) (, ",") (parameter_declaration "int *param_11" (primitive_type "int") (pointer_declarator "*param_11" (* "*") (identifier "param_11"))) () ")"))) (compound_statement "{\n  code *pcVar1;\n  undefined **ppuVar2;\n  undefined *puVar3;\n  int *piVar4;\n  int iVar5;\n  undefined1 *puVar6;\n  char cVar7;\n  code cVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  byte *pbVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  byte bVar16;\n  undefined **ppuVar17;\n  undefined4 extraout_ECX;\n  undefined **extraout_ECX_00;\n  byte bVar18;\n  code cVar19;\n  undefined **ppuVar20;\n  byte *pbVar21;\n  undefined1 *puVar22;\n  undefined1 *puVar23;\n  byte bVar24;\n  byte *pbVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  undefined1 auStack_ec [12];\n  undefined **local_e0;\n  undefined **local_dc;\n  uint local_d8;\n  char local_d1;\n  byte **local_d0;\n  int *local_cc;\n  int local_c8;\n  uint local_c4;\n  int local_c0;\n  byte **local_bc;\n  uint local_b8;\n  int local_b4;\n  byte **local_b0;\n  uint local_ac;\n  int local_a8;\n  int *local_a4;\n  uint local_a0;\n  byte **local_9c;\n  int local_98;\n  undefined **local_94;\n  undefined **local_90;\n  undefined1 local_81;\n  undefined1 local_80 [4];\n  int local_7c;\n  uint *local_78;\n  char local_74;\n  int local_70;\n  byte *local_6c;\n  undefined4 local_68;\n  uint local_64;\n  undefined *local_60;\n  byte *local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  byte *local_50;\n  byte *local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined *local_40;\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  bVar29 = 0;\n  local_94 = &__DT_PLTGOT;\n  local_d1 = param_7;\n  if (param_3 != 4) {\n                    \n    FUN_002446e0("../../gold/sparc.cc",0x10a1,"relocate_section");\n  }\n  local_74 = '\0';\n  local_70 = 0;\n  local_cc = (int *)param_2[2];\n  pcVar1 = *(code **)(*local_cc + 0x8c);\n  if (pcVar1 == FUN_00070d40) {\n                    \n    local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc);\n  }\n  else {\n                    \n    local_d8 = (*pcVar1)(local_cc);\n  }\n  puVar22 = auStack_ec;\n  local_c0 = 0;\n  local_b4 = 0;\n  local_e0 = local_94 + 0x1f2;\n  puVar6 = auStack_ec;\n  local_dc = local_e0;\n  if (param_5 != 0) {\n    do {\n      puVar22 = puVar6;\n      uVar9 = *param_4;\n      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      param_4 = param_4 + 3;\n      puVar6 = puVar22;\n    } while (param_5 != local_b4);\n  }\n  if (local_74 == '\0') {\n    return;\n  }\n  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n  *(undefined4 *)(puVar22 + -0x14) = 0x9f087;\n  uVar15 = gettext();\n  *(undefined4 *)(puVar22 + -0x10) = uVar15;\n  *(undefined4 *)(puVar22 + -0x14) = 0x9f08f;\n  FUN_0023b810();\n  return;\n}" ({ "{") (declaration "code *pcVar1;" (type_identifier "code") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "undefined **ppuVar2;" (type_identifier "undefined") (pointer_declarator "**ppuVar2" (* "*") (pointer_declarator "*ppuVar2" (* "*") (identifier "ppuVar2"))) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "undefined1 *puVar6;" (type_identifier "undefined1") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "char cVar7;" (primitive_type "char") (identifier "cVar7") (; ";")) (declaration "code cVar8;" (type_identifier "code") (identifier "cVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "byte *pbVar13;" (type_identifier "byte") (pointer_declarator "*pbVar13" (* "*") (identifier "pbVar13")) (; ";")) (declaration "undefined4 uVar14;" (type_identifier "undefined4") (identifier "uVar14") (; ";")) (declaration "undefined4 uVar15;" (type_identifier "undefined4") (identifier "uVar15") (; ";")) (declaration "byte bVar16;" (type_identifier "byte") (identifier "bVar16") (; ";")) (declaration "undefined **ppuVar17;" (type_identifier "undefined") (pointer_declarator "**ppuVar17" (* "*") (pointer_declarator "*ppuVar17" (* "*") (identifier "ppuVar17"))) (; ";")) (declaration "undefined4 extraout_ECX;" (type_identifier "undefined4") (identifier "extraout_ECX") (; ";")) (declaration "undefined **extraout_ECX_00;" (type_identifier "undefined") (pointer_declarator "**extraout_ECX_00" (* "*") (pointer_declarator "*extraout_ECX_00" (* "*") (identifier "extraout_ECX_00"))) (; ";")) (declaration "byte bVar18;" (type_identifier "byte") (identifier "bVar18") (; ";")) (declaration "code cVar19;" (type_identifier "code") (identifier "cVar19") (; ";")) (declaration "undefined **ppuVar20;" (type_identifier "undefined") (pointer_declarator "**ppuVar20" (* "*") (pointer_declarator "*ppuVar20" (* "*") (identifier "ppuVar20"))) (; ";")) (declaration "byte *pbVar21;" (type_identifier "byte") (pointer_declarator "*pbVar21" (* "*") (identifier "pbVar21")) (; ";")) (declaration "undefined1 *puVar22;" (type_identifier "undefined1") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "undefined1 *puVar23;" (type_identifier "undefined1") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "byte bVar24;" (type_identifier "byte") (identifier "bVar24") (; ";")) (declaration "byte *pbVar25;" (type_identifier "byte") (pointer_declarator "*pbVar25" (* "*") (identifier "pbVar25")) (; ";")) (declaration "bool bVar26;" (primitive_type "bool") (identifier "bVar26") (; ";")) (declaration "bool bVar27;" (primitive_type "bool") (identifier "bVar27") (; ";")) (declaration "bool bVar28;" (primitive_type "bool") (identifier "bVar28") (; ";")) (declaration "byte bVar29;" (type_identifier "byte") (identifier "bVar29") (; ";")) (declaration "undefined1 auStack_ec [12];" (type_identifier "undefined1") (array_declarator "auStack_ec [12]" (identifier "auStack_ec") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "undefined **local_e0;" (type_identifier "undefined") (pointer_declarator "**local_e0" (* "*") (pointer_declarator "*local_e0" (* "*") (identifier "local_e0"))) (; ";")) (declaration "undefined **local_dc;" (type_identifier "undefined") (pointer_declarator "**local_dc" (* "*") (pointer_declarator "*local_dc" (* "*") (identifier "local_dc"))) (; ";")) (declaration "uint local_d8;" (type_identifier "uint") (identifier "local_d8") (; ";")) (declaration "char local_d1;" (primitive_type "char") (identifier "local_d1") (; ";")) (declaration "byte **local_d0;" (type_identifier "byte") (pointer_declarator "**local_d0" (* "*") (pointer_declarator "*local_d0" (* "*") (identifier "local_d0"))) (; ";")) (declaration "int *local_cc;" (primitive_type "int") (pointer_declarator "*local_cc" (* "*") (identifier "local_cc")) (; ";")) (declaration "int local_c8;" (primitive_type "int") (identifier "local_c8") (; ";")) (declaration "uint local_c4;" (type_identifier "uint") (identifier "local_c4") (; ";")) (declaration "int local_c0;" (primitive_type "int") (identifier "local_c0") (; ";")) (declaration "byte **local_bc;" (type_identifier "byte") (pointer_declarator "**local_bc" (* "*") (pointer_declarator "*local_bc" (* "*") (identifier "local_bc"))) (; ";")) (declaration "uint local_b8;" (type_identifier "uint") (identifier "local_b8") (; ";")) (declaration "int local_b4;" (primitive_type "int") (identifier "local_b4") (; ";")) (declaration "byte **local_b0;" (type_identifier "byte") (pointer_declarator "**local_b0" (* "*") (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 "int *local_a4;" (primitive_type "int") (pointer_declarator "*local_a4" (* "*") (identifier "local_a4")) (; ";")) (declaration "uint local_a0;" (type_identifier "uint") (identifier "local_a0") (; ";")) (declaration "byte **local_9c;" (type_identifier "byte") (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 "undefined1 local_81;" (type_identifier "undefined1") (identifier "local_81") (; ";")) (declaration "undefined1 local_80 [4];" (type_identifier "undefined1") (array_declarator "local_80 [4]" (identifier "local_80") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int local_7c;" (primitive_type "int") (identifier "local_7c") (; ";")) (declaration "uint *local_78;" (type_identifier "uint") (pointer_declarator "*local_78" (* "*") (identifier "local_78")) (; ";")) (declaration "char local_74;" (primitive_type "char") (identifier "local_74") (; ";")) (declaration "int local_70;" (primitive_type "int") (identifier "local_70") (; ";")) (declaration "byte *local_6c;" (type_identifier "byte") (pointer_declarator "*local_6c" (* "*") (identifier "local_6c")) (; ";")) (declaration "undefined4 local_68;" (type_identifier "undefined4") (identifier "local_68") (; ";")) (declaration "uint local_64;" (type_identifier "uint") (identifier "local_64") (; ";")) (declaration "undefined *local_60;" (type_identifier "undefined") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "byte *local_5c;" (type_identifier "byte") (pointer_declarator "*local_5c" (* "*") (identifier "local_5c")) (; ";")) (declaration "undefined4 local_58;" (type_identifier "undefined4") (identifier "local_58") (; ";")) (declaration "undefined4 local_54;" (type_identifier "undefined4") (identifier "local_54") (; ";")) (declaration "byte *local_50;" (type_identifier "byte") (pointer_declarator "*local_50" (* "*") (identifier "local_50")) (; ";")) (declaration "byte *local_4c;" (type_identifier "byte") (pointer_declarator "*local_4c" (* "*") (identifier "local_4c")) (; ";")) (declaration "undefined4 local_48;" (type_identifier "undefined4") (identifier "local_48") (; ";")) (declaration "undefined4 local_44;" (type_identifier "undefined4") (identifier "local_44") (; ";")) (declaration "undefined *local_40;" (type_identifier "undefined") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (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 "bVar29 = 0;" (assignment_expression "bVar29 = 0" (identifier "bVar29") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_94 = &__DT_PLTGOT;" (assignment_expression "local_94 = &__DT_PLTGOT" (identifier "local_94") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "local_d1 = param_7;" (assignment_expression "local_d1 = param_7" (identifier "local_d1") (= "=") (identifier "param_7")) (; ";")) (if_statement "if (param_3 != 4) {\n                    \n    FUN_002446e0("../../gold/sparc.cc",0x10a1,"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/sparc.cc",0x10a1,"relocate_section");\n  }" ({ "{") (expression_statement "FUN_002446e0("../../gold/sparc.cc",0x10a1,"relocate_section");" (call_expression "FUN_002446e0("../../gold/sparc.cc",0x10a1,"relocate_section")" (identifier "FUN_002446e0") (argument_list "("../../gold/sparc.cc",0x10a1,"relocate_section")" (( "(") (string_literal ""../../gold/sparc.cc"" (" """) (string_content "../../gold/sparc.cc") (" """)) (, ",") (number_literal "0x10a1") (, ",") (string_literal ""relocate_section"" (" """) (string_content "relocate_section") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "local_74 = '\0';" (assignment_expression "local_74 = '\0'" (identifier "local_74") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" (identifier "local_70") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_cc = (int *)param_2[2];" (assignment_expression "local_cc = (int *)param_2[2]" (identifier "local_cc") (= "=") (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 "pcVar1 = *(code **)(*local_cc + 0x8c);" (assignment_expression "pcVar1 = *(code **)(*local_cc + 0x8c)" (identifier "pcVar1") (= "=") (pointer_expression "*(code **)(*local_cc + 0x8c)" (* "*") (cast_expression "(code **)(*local_cc + 0x8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_cc + 0x8c)" (( "(") (binary_expression "*local_cc + 0x8c" (pointer_expression "*local_cc" (* "*") (identifier "local_cc")) (+ "+") (number_literal "0x8c")) () ")"))))) (; ";")) (if_statement "if (pcVar1 == FUN_00070d40) {\n                    \n    local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc);\n  }\n  else {\n                    \n    local_d8 = (*pcVar1)(local_cc);\n  }" (if "if") (parenthesized_expression "(pcVar1 == FUN_00070d40)" (( "(") (binary_expression "pcVar1 == FUN_00070d40" (identifier "pcVar1") (== "==") (identifier "FUN_00070d40")) () ")")) (compound_statement "{\n                    \n    local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc);\n  }" ({ "{") (expression_statement "local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc);" (assignment_expression "local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc)" (identifier "local_d8") (= "=") (call_expression "(**(code **)(*local_cc + 0xbc))(local_cc)" (parenthesized_expression "(**(code **)(*local_cc + 0xbc))" (( "(") (pointer_expression "**(code **)(*local_cc + 0xbc)" (* "*") (pointer_expression "*(code **)(*local_cc + 0xbc)" (* "*") (cast_expression "(code **)(*local_cc + 0xbc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_cc + 0xbc)" (( "(") (binary_expression "*local_cc + 0xbc" (pointer_expression "*local_cc" (* "*") (identifier "local_cc")) (+ "+") (number_literal "0xbc")) () ")"))))) () ")")) (argument_list "(local_cc)" (( "(") (identifier "local_cc") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                    \n    local_d8 = (*pcVar1)(local_cc);\n  }" (else "else") (compound_statement "{\n                    \n    local_d8 = (*pcVar1)(local_cc);\n  }" ({ "{") (expression_statement "local_d8 = (*pcVar1)(local_cc);" (assignment_expression "local_d8 = (*pcVar1)(local_cc)" (identifier "local_d8") (= "=") (call_expression "(*pcVar1)(local_cc)" (parenthesized_expression "(*pcVar1)" (( "(") (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) () ")")) (argument_list "(local_cc)" (( "(") (identifier "local_cc") () ")")))) (; ";")) (} "}")))) (expression_statement "puVar22 = auStack_ec;" (assignment_expression "puVar22 = auStack_ec" (identifier "puVar22") (= "=") (identifier "auStack_ec")) (; ";")) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" (identifier "local_c0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" (identifier "local_b4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_e0 = local_94 + 0x1f2;" (assignment_expression "local_e0 = local_94 + 0x1f2" (identifier "local_e0") (= "=") (binary_expression "local_94 + 0x1f2" (identifier "local_94") (+ "+") (number_literal "0x1f2"))) (; ";")) (expression_statement "puVar6 = auStack_ec;" (assignment_expression "puVar6 = auStack_ec" (identifier "puVar6") (= "=") (identifier "auStack_ec")) (; ";")) (expression_statement "local_dc = local_e0;" (assignment_expression "local_dc = local_e0" (identifier "local_dc") (= "=") (identifier "local_e0")) (; ";")) (if_statement "if (param_5 != 0) {\n    do {\n      puVar22 = puVar6;\n      uVar9 = *param_4;\n      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      param_4 = param_4 + 3;\n      puVar6 = puVar22;\n    } while (param_5 != local_b4);\n  }" (if "if") (parenthesized_expression "(param_5 != 0)" (( "(") (binary_expression "param_5 != 0" (identifier "param_5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    do {\n      puVar22 = puVar6;\n      uVar9 = *param_4;\n      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      param_4 = param_4 + 3;\n      puVar6 = puVar22;\n    } while (param_5 != local_b4);\n  }" ({ "{") (do_statement "do {\n      puVar22 = puVar6;\n      uVar9 = *param_4;\n      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      param_4 = param_4 + 3;\n      puVar6 = puVar22;\n    } while (param_5 != local_b4);" (do "do") (compound_statement "{\n      puVar22 = puVar6;\n      uVar9 = *param_4;\n      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }\n      local_b4 = local_b4 + 1;\n      param_4 = param_4 + 3;\n      puVar6 = puVar22;\n    }" ({ "{") (expression_statement "puVar22 = puVar6;" (assignment_expression "puVar22 = puVar6" (identifier "puVar22") (= "=") (identifier "puVar6")) (; ";")) (expression_statement "uVar9 = *param_4;" (assignment_expression "uVar9 = *param_4" (identifier "uVar9") (= "=") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (; ";")) (expression_statement "local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (identifier "local_c4") (= "=") (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar9 << 0x18" (identifier "uVar9") (<< "<<") (number_literal "0x18")))) (; ";")) (if_statement "if (local_d1 == '\0') {\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }\n      else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }" (if "if") (parenthesized_expression "(local_d1 == '\0')" (( "(") (binary_expression "local_d1 == '\0'" (identifier "local_d1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0009cc8a:\n        uVar9 = param_4[1];\n        local_6c = (byte *)0x0;\n        local_68 = 0xffffffff;\n        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n        local_64 = 0x80000000;\n        local_a0 = uVar9 >> 8;\n        local_60 = (undefined *)0x0;\n        if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }\n        local_d0 = &local_5c;\n        local_b8 = uVar9 & 0xff;\n        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;\n        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }\n        *(byte ***)(puVar22 + -0x10) = local_d0;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;\n        FUN_00072240();\n        *(byte ***)(puVar22 + -0x10) = local_bc;\n        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;\n        FUN_00072240();\n      }" ({ "{") (labeled_statement "LAB_0009cc8a:\n        uVar9 = param_4[1];" (statement_identifier "LAB_0009cc8a") (: ":") (expression_statement "uVar9 = param_4[1];" (assignment_expression "uVar9 = param_4[1]" (identifier "uVar9") (= "=") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]"))) (; ";"))) (expression_statement "local_6c = (byte *)0x0;" (assignment_expression "local_6c = (byte *)0x0" (identifier "local_6c") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_68 = 0xffffffff;" (assignment_expression "local_68 = 0xffffffff" (identifier "local_68") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (identifier "uVar9") (= "=") (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar9 << 0x18" (identifier "uVar9") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_64 = 0x80000000;" (assignment_expression "local_64 = 0x80000000" (identifier "local_64") (= "=") (number_literal "0x80000000")) (; ";")) (expression_statement "local_a0 = uVar9 >> 8;" (assignment_expression "local_a0 = uVar9 >> 8" (identifier "local_a0") (= "=") (binary_expression "uVar9 >> 8" (identifier "uVar9") (>> ">>") (number_literal "8"))) (; ";")) (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"))) (; ";")) (if_statement "if (local_a0 < local_d8) {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }\n        else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }" (if "if") (parenthesized_expression "(local_a0 < local_d8)" (( "(") (binary_expression "local_a0 < local_d8" (identifier "local_a0") (< "<") (identifier "local_d8")) () ")")) (compound_statement "{\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }\n          local_90 = (undefined **)local_cc[0x38];\n          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }\n          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);\n          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);\n          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }\n          local_90 = (undefined **)0x0;\nLAB_0009cd80:\n          local_bc = &local_6c;\n          local_5c = (byte *)0x0;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n        }" ({ "{") (if_statement "if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          {\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }" (if "if") (parenthesized_expression "((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))" (( "(") (binary_expression "(param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0)" (parenthesized_expression "(param_11 != (int *)0x0)" (( "(") (binary_expression "param_11 != (int *)0x0" (identifier "param_11") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0)" (( "(") (comma_expression "local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0" (assignment_expression "local_90 = *(undefined ***)(*param_11 + local_b4 * 4)" (identifier "local_90") (= "=") (pointer_expression "*(undefined ***)(*param_11 + local_b4 * 4)" (* "*") (cast_expression "(undefined ***)(*param_11 + local_b4 * 4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*param_11 + local_b4 * 4)" (( "(") (binary_expression "*param_11 + local_b4 * 4" (pointer_expression "*param_11" (* "*") (identifier "param_11")) (+ "+") (binary_expression "local_b4 * 4" (identifier "local_b4") (* "*") (number_literal "4"))) () ")"))))) (, ",") (binary_expression "local_90 != (undefined **)0x0" (identifier "local_90") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\nLAB_0009ccec:\n            pbVar13 = local_90[4];\n            pbVar21 = pbVar13 + -1;\n            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;\nLAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }\n            goto LAB_0009cd08;\n          }" ({ "{") (labeled_statement "LAB_0009ccec:\n            pbVar13 = local_90[4];" (statement_identifier "LAB_0009ccec") (: ":") (expression_statement "pbVar13 = local_90[4];" (assignment_expression "pbVar13 = local_90[4]" (identifier "pbVar13") (= "=") (subscript_expression "local_90[4]" (identifier "local_90") ([ "[") (number_literal "4") (] "]"))) (; ";"))) (expression_statement "pbVar21 = pbVar13 + -1;" (assignment_expression "pbVar21 = pbVar13 + -1" (identifier "pbVar21") (= "=") (binary_expression "pbVar13 + -1" (identifier "pbVar13") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;" (if "if") (parenthesized_expression "((byte *)0xfffffffd < pbVar21)" (( "(") (binary_expression "(byte *)0xfffffffd < pbVar21" (cast_expression "(byte *)0xfffffffd" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfffffffd")) (< "<") (identifier "pbVar21")) () ")")) (goto_statement "goto LAB_0009cd01;" (goto "goto") (statement_identifier "LAB_0009cd01") (; ";"))) (labeled_statement "LAB_0009e020:\n            if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }" (statement_identifier "LAB_0009e020") (: ":") (if_statement "if (pbVar21 == (byte *)0xfffffffd) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }" (if "if") (parenthesized_expression "(pbVar21 == (byte *)0xfffffffd)" (( "(") (binary_expression "pbVar21 == (byte *)0xfffffffd" (identifier "pbVar21") (== "==") (cast_expression "(byte *)0xfffffffd" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfffffffd"))) () ")")) (compound_statement "{\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70d;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;\n              FUN_002446e0();\n            }" ({ "{") (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650dd" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x650dd" (identifier "local_94") (+ "+") (number_literal "-0x650dd"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x70d;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x70d" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x70d")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19cc7b"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f318;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f318" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f318")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0009cd08;" (goto "goto") (statement_identifier "LAB_0009cd08") (; ";")) (} "}"))) (expression_statement "local_90 = (undefined **)local_cc[0x38];" (assignment_expression "local_90 = (undefined **)local_cc[0x38]" (identifier "local_90") (= "=") (cast_expression "(undefined **)local_cc[0x38]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_cc[0x38]" (identifier "local_cc") ([ "[") (number_literal "0x38") (] "]")))) (; ";")) (if_statement "if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }" (if "if") (parenthesized_expression "((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0)" (( "(") (binary_expression "(uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0" (call_expression "(uint)((int)local_90 - local_cc[0x37] >> 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)local_90 - local_cc[0x37] >> 4)" (( "(") (binary_expression "(int)local_90 - local_cc[0x37] >> 4" (binary_expression "(int)local_90 - local_cc[0x37]" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (- "-") (subscript_expression "local_cc[0x37]" (identifier "local_cc") ([ "[") (number_literal "0x37") (] "]"))) (>> ">>") (number_literal "4")) () ")"))) (<= "<=") (identifier "local_a0")) () ")")) (compound_statement "{\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;\n            FUN_002446e0();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x6509a" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x6509a" (identifier "local_94") (+ "+") (number_literal "-0x6509a"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x8c1;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x8c1" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x8c1")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19cc7b"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f282;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f282" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f282")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);" (assignment_expression "local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10)" (identifier "local_9c") (= "=") (cast_expression "(byte **)(local_cc[0x37] + local_a0 * 0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_cc[0x37] + local_a0 * 0x10)" (( "(") (binary_expression "local_cc[0x37] + local_a0 * 0x10" (subscript_expression "local_cc[0x37]" (identifier "local_cc") ([ "[") (number_literal "0x37") (] "]")) (+ "+") (binary_expression "local_a0 * 0x10" (identifier "local_a0") (* "*") (number_literal "0x10"))) () ")")))) (; ";")) (expression_statement "local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);" (assignment_expression "local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff)" (identifier "local_a4") (= "=") (cast_expression "(int *)((uint)local_9c[2] & 0x7ffffff)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_9c[2] & 0x7ffffff)" (( "(") (binary_expression "(uint)local_9c[2] & 0x7ffffff" (cast_expression "(uint)local_9c[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_9c[2]" (identifier "local_9c") ([ "[") (number_literal "2") (] "]"))) (& "&") (number_literal "0x7ffffff")) () ")")))) (; ";")) (if_statement "if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }" (if "if") (parenthesized_expression "(((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0))" (( "(") (binary_expression "((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)" (parenthesized_expression "((*(byte *)((int)local_9c + 0xb) & 8) != 0)" (( "(") (binary_expression "(*(byte *)((int)local_9c + 0xb) & 8) != 0" (parenthesized_expression "(*(byte *)((int)local_9c + 0xb) & 8)" (( "(") (binary_expression "*(byte *)((int)local_9c + 0xb) & 8" (pointer_expression "*(byte *)((int)local_9c + 0xb)" (* "*") (cast_expression "(byte *)((int)local_9c + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_9c + 0xb)" (( "(") (binary_expression "(int)local_9c + 0xb" (cast_expression "(int)local_9c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_9c")) (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_a4 != (int *)0x0)" (( "(") (binary_expression "local_a4 != (int *)0x0" (identifier "local_a4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n            local_90 = (undefined **)local_cc[0xf];\n            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }\n            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);\n            if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }\n            *(int **)(puVar22 + -8) = local_a4;\n            *(int **)(puVar22 + -0xc) = local_cc;\n            *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;\n            cVar7 = FUN_0034cd20();\n            if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n            goto LAB_0009d9f1;\n          }" ({ "{") (expression_statement "local_90 = (undefined **)local_cc[0xf];" (assignment_expression "local_90 = (undefined **)local_cc[0xf]" (identifier "local_90") (= "=") (cast_expression "(undefined **)local_cc[0xf]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_cc[0xf]" (identifier "local_cc") ([ "[") (number_literal "0xf") (] "]")))) (; ";")) (if_statement "if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }" (if "if") (parenthesized_expression "((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4)" (( "(") (binary_expression "(int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4" (cast_expression "(int *)((int)local_90 - local_cc[0xe] >> 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 - local_cc[0xe] >> 2)" (( "(") (binary_expression "(int)local_90 - local_cc[0xe] >> 2" (binary_expression "(int)local_90 - local_cc[0xe]" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (- "-") (subscript_expression "local_cc[0xe]" (identifier "local_cc") ([ "[") (number_literal "0xe") (] "]"))) (>> ">>") (number_literal "2")) () ")"))) (<= "<=") (identifier "local_a4")) () ")")) (compound_statement "{\n              *(int **)(puVar22 + -4) = local_cc;\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;\n              *(undefined4 *)(puVar22 + -0xc) = 0x50b;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;\n              FUN_002446e0();\n            }" ({ "{") (expression_statement "*(int **)(puVar22 + -4) = local_cc;" (assignment_expression "*(int **)(puVar22 + -4) = local_cc" (pointer_expression "*(int **)(puVar22 + -4)" (* "*") (cast_expression "(int **)(puVar22 + -4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -4)" (( "(") (binary_expression "puVar22 + -4" (identifier "puVar22") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "local_cc")) (; ";")) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eff" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x64eff" (identifier "local_94") (+ "+") (number_literal "-0x64eff"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x50b;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x50b" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x50b")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19cc7b"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f42b;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f42b" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f42b")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);" (assignment_expression "local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4)" (identifier "local_90") (= "=") (pointer_expression "*(undefined ***)(local_cc[0xe] + (int)local_a4 * 4)" (* "*") (cast_expression "(undefined ***)(local_cc[0xe] + (int)local_a4 * 4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(local_cc[0xe] + (int)local_a4 * 4)" (( "(") (binary_expression "local_cc[0xe] + (int)local_a4 * 4" (subscript_expression "local_cc[0xe]" (identifier "local_cc") ([ "[") (number_literal "0xe") (] "]")) (+ "+") (binary_expression "(int)local_a4 * 4" (cast_expression "(int)local_a4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_a4")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (local_90 != (undefined **)0x0) {\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }" (if "if") (parenthesized_expression "(local_90 != (undefined **)0x0)" (( "(") (binary_expression "local_90 != (undefined **)0x0" (identifier "local_90") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              local_90 = (undefined **)0x0;\n              goto LAB_0009cd80;\n            }" ({ "{") (expression_statement "local_90 = (undefined **)0x0;" (assignment_expression "local_90 = (undefined **)0x0" (identifier "local_90") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_0009cd80;" (goto "goto") (statement_identifier "LAB_0009cd80") (; ";")) (} "}"))) (expression_statement "*(int **)(puVar22 + -8) = local_a4;" (assignment_expression "*(int **)(puVar22 + -8) = local_a4" (pointer_expression "*(int **)(puVar22 + -8)" (* "*") (cast_expression "(int **)(puVar22 + -8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_a4")) (; ";")) (expression_statement "*(int **)(puVar22 + -0xc) = local_cc;" (assignment_expression "*(int **)(puVar22 + -0xc) = local_cc" (pointer_expression "*(int **)(puVar22 + -0xc)" (* "*") (cast_expression "(int **)(puVar22 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_cc")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = *param_2;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = *param_2" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9e2da;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9e2da" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9e2da")) (; ";")) (expression_statement "cVar7 = FUN_0034cd20();" (assignment_expression "cVar7 = FUN_0034cd20()" (identifier "cVar7") (= "=") (call_expression "FUN_0034cd20()" (identifier "FUN_0034cd20") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar7 != '\0') {\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }" (if "if") (parenthesized_expression "(cVar7 != '\0')" (( "(") (binary_expression "cVar7 != '\0'" (identifier "cVar7") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }" ({ "{") (expression_statement "uVar9 = param_4[1] >> 0x18;" (assignment_expression "uVar9 = param_4[1] >> 0x18" (identifier "uVar9") (= "=") (binary_expression "param_4[1] >> 0x18" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (>> ">>") (number_literal "0x18"))) (; ";")) (goto_statement "goto LAB_0009cd80;" (goto "goto") (statement_identifier "LAB_0009cd80") (; ";")) (} "}"))) (goto_statement "goto LAB_0009d9f1;" (goto "goto") (statement_identifier "LAB_0009d9f1") (; ";")) (} "}"))) (expression_statement "local_90 = (undefined **)0x0;" (assignment_expression "local_90 = (undefined **)0x0" (identifier "local_90") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_0009cd80:\n          local_bc = &local_6c;" (statement_identifier "LAB_0009cd80") (: ":") (expression_statement "local_bc = &local_6c;" (assignment_expression "local_bc = &local_6c" (identifier "local_bc") (= "=") (pointer_expression "&local_6c" (& "&") (identifier "local_6c"))) (; ";"))) (expression_statement "local_5c = (byte *)0x0;" (assignment_expression "local_5c = (byte *)0x0" (identifier "local_5c") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_58 = 0xffffffff;" (assignment_expression "local_58 = 0xffffffff" (identifier "local_58") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "local_54 = 0x80000000;" (assignment_expression "local_54 = 0x80000000" (identifier "local_54") (= "=") (number_literal "0x80000000")) (; ";")) (expression_statement "local_50 = (byte *)0x0;" (assignment_expression "local_50 = (byte *)0x0" (identifier "local_50") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }" (else "else") (compound_statement "{\n          if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;\n          if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }\n          uVar9 = local_a0 - local_cc[0x2c];\n          local_90 = (undefined **)local_cc[0x30];\n          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }\n          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);\n          if (local_90 == (undefined **)0x0) goto LAB_0009f240;\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;\n          *(undefined ***)(puVar22 + -0xc) = local_90;\n          *(undefined4 *)(puVar22 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;\n          local_90 = (undefined **)FUN_0034cd90();\n          pbVar13 = local_90[4];\n          pbVar21 = pbVar13 + -1;\n          if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }\n          if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }\nLAB_0009cd01:\n          local_6c = (byte *)0xffffffff;\n          pbVar13 = local_6c;\nLAB_0009cd08:\n          local_6c = pbVar13;\n          local_60 = local_90[0xc];\n          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }\n          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }\n          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;\n          local_a4 = (int *)0x0;\n          local_9c = &local_6c;\nLAB_0009d9f1:\n          local_bc = &local_6c;\n          local_b0 = &local_4c;\n          local_5c = (byte *)0x0;\n          iVar11 = *local_cc;\n          *(undefined4 *)(puVar22 + -8) = param_2[6];\n          *(int **)(puVar22 + -0xc) = local_cc;\n          local_d0 = &local_5c;\n          local_58 = 0xffffffff;\n          local_54 = 0x80000000;\n          local_50 = (byte *)0x0;\n          *(byte ***)(puVar22 + -0x10) = local_b0;\n          pcVar1 = *(code **)(iVar11 + 0x40);\n          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;\n          (*pcVar1)();\n          puVar23 = puVar22 + -4;\n          bVar26 = false;\n          bVar28 = local_c0 == 0;\n          if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }\n          if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }\n          local_5c = (byte *)0xffffffff;\n          if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }\n          local_9c = &local_5c;\n          uVar9 = param_4[1] >> 0x18;\n        }" ({ "{") (if_statement "if ((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))\n          goto LAB_0009ccec;" (if "if") (parenthesized_expression "((param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))" (( "(") (binary_expression "(param_11 != (int *)0x0) &&\n             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0)" (parenthesized_expression "(param_11 != (int *)0x0)" (( "(") (binary_expression "param_11 != (int *)0x0" (identifier "param_11") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0)" (( "(") (comma_expression "local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0" (assignment_expression "local_90 = *(undefined ***)(*param_11 + local_b4 * 4)" (identifier "local_90") (= "=") (pointer_expression "*(undefined ***)(*param_11 + local_b4 * 4)" (* "*") (cast_expression "(undefined ***)(*param_11 + local_b4 * 4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*param_11 + local_b4 * 4)" (( "(") (binary_expression "*param_11 + local_b4 * 4" (pointer_expression "*param_11" (* "*") (identifier "param_11")) (+ "+") (binary_expression "local_b4 * 4" (identifier "local_b4") (* "*") (number_literal "4"))) () ")"))))) (, ",") (binary_expression "local_90 != (undefined **)0x0" (identifier "local_90") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_0009ccec;" (goto "goto") (statement_identifier "LAB_0009ccec") (; ";"))) (if_statement "if (local_a0 < (uint)local_cc[0x2c]) {\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }" (if "if") (parenthesized_expression "(local_a0 < (uint)local_cc[0x2c])" (( "(") (binary_expression "local_a0 < (uint)local_cc[0x2c]" (identifier "local_a0") (< "<") (cast_expression "(uint)local_cc[0x2c]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_cc[0x2c]" (identifier "local_cc") ([ "[") (number_literal "0x2c") (] "]")))) () ")")) (compound_statement "{\nLAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;\n            *(undefined4 *)(puVar22 + -0xc) = 0x17f;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;\n            FUN_002446e0();\n          }" ({ "{") (labeled_statement "LAB_0009f240:\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;" (statement_identifier "LAB_0009f240") (: ":") (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650d7" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x650d7" (identifier "local_94") (+ "+") (number_literal "-0x650d7"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x17f;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x17f" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x17f")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x19cb27" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19cb27"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f261;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f261" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f261")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar9 = local_a0 - local_cc[0x2c];" (assignment_expression "uVar9 = local_a0 - local_cc[0x2c]" (identifier "uVar9") (= "=") (binary_expression "local_a0 - local_cc[0x2c]" (identifier "local_a0") (- "-") (subscript_expression "local_cc[0x2c]" (identifier "local_cc") ([ "[") (number_literal "0x2c") (] "]")))) (; ";")) (expression_statement "local_90 = (undefined **)local_cc[0x30];" (assignment_expression "local_90 = (undefined **)local_cc[0x30]" (identifier "local_90") (= "=") (cast_expression "(undefined **)local_cc[0x30]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_cc[0x30]" (identifier "local_cc") ([ "[") (number_literal "0x30") (] "]")))) (; ";")) (if_statement "if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }" (if "if") (parenthesized_expression "((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9)" (( "(") (binary_expression "(uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9" (call_expression "(uint)((int)local_90 - local_cc[0x2f] >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)local_90 - local_cc[0x2f] >> 2)" (( "(") (binary_expression "(int)local_90 - local_cc[0x2f] >> 2" (binary_expression "(int)local_90 - local_cc[0x2f]" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (- "-") (subscript_expression "local_cc[0x2f]" (identifier "local_cc") ([ "[") (number_literal "0x2f") (] "]"))) (>> ">>") (number_literal "2")) () ")"))) (<= "<=") (identifier "uVar9")) () ")")) (compound_statement "{\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;\n            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;\n            FUN_002446e0();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x65096;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x65096" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x65096" (identifier "local_94") (+ "+") (number_literal "-0x65096"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x8ad;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x8ad" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x8ad")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19cc7b"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f2a3" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f2a3")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);" (assignment_expression "local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4)" (identifier "local_90") (= "=") (pointer_expression "*(undefined ***)(local_cc[0x2f] + uVar9 * 4)" (* "*") (cast_expression "(undefined ***)(local_cc[0x2f] + uVar9 * 4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(local_cc[0x2f] + uVar9 * 4)" (( "(") (binary_expression "local_cc[0x2f] + uVar9 * 4" (subscript_expression "local_cc[0x2f]" (identifier "local_cc") ([ "[") (number_literal "0x2f") (] "]")) (+ "+") (binary_expression "uVar9 * 4" (identifier "uVar9") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (local_90 == (undefined **)0x0) goto LAB_0009f240;" (if "if") (parenthesized_expression "(local_90 == (undefined **)0x0)" (( "(") (binary_expression "local_90 == (undefined **)0x0" (identifier "local_90") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0009f240;" (goto "goto") (statement_identifier "LAB_0009f240") (; ";"))) (if_statement "if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;" (if "if") (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0)" (( "(") (binary_expression "((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2a) & 0x10)" (( "(") (binary_expression "(byte)*(code *)((int)local_90 + 0x2a) & 0x10" (binary_expression "(byte)*(code *)((int)local_90 + 0x2a)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)((int)local_90 + 0x2a)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2a)" (( "(") (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009ccec;" (goto "goto") (statement_identifier "LAB_0009ccec") (; ";"))) (expression_statement "*(undefined ***)(puVar22 + -0xc) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0xc) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined ***)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_90")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = *param_2;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = *param_2" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9e0cb" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9e0cb")) (; ";")) (expression_statement "local_90 = (undefined **)FUN_0034cd90();" (assignment_expression "local_90 = (undefined **)FUN_0034cd90()" (identifier "local_90") (= "=") (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 "pbVar13 = local_90[4];" (assignment_expression "pbVar13 = local_90[4]" (identifier "pbVar13") (= "=") (subscript_expression "local_90[4]" (identifier "local_90") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "pbVar21 = pbVar13 + -1;" (assignment_expression "pbVar21 = pbVar13 + -1" (identifier "pbVar21") (= "=") (binary_expression "pbVar13 + -1" (identifier "pbVar13") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (pbVar21 < (byte *)0xfffffffe) {\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }" (if "if") (parenthesized_expression "(pbVar21 < (byte *)0xfffffffe)" (( "(") (binary_expression "pbVar21 < (byte *)0xfffffffe" (identifier "pbVar21") (< "<") (cast_expression "(byte *)0xfffffffe" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfffffffe"))) () ")")) (compound_statement "{\n            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }\n            goto LAB_0009e020;\n          }" ({ "{") (if_statement "if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }" (if "if") (parenthesized_expression "((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe))" (( "(") (binary_expression "(local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)" (parenthesized_expression "(local_6c != (byte *)0x0)" (( "(") (binary_expression "local_6c != (byte *)0x0" (identifier "local_6c") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(local_6c != (byte *)0xfffffffe)" (( "(") (binary_expression "local_6c != (byte *)0xfffffffe" (identifier "local_6c") (!= "!=") (cast_expression "(byte *)0xfffffffe" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfffffffe"))) () ")"))) () ")")) (compound_statement "{\n              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;\n              *(undefined4 *)(puVar22 + -0xc) = 0x70c;\n              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;\n              FUN_002446e0();\n            }" ({ "{") (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650dd" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x650dd" (identifier "local_94") (+ "+") (number_literal "-0x650dd"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x70c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x70c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x70c")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19cc7b"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f155;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f155" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f155")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0009e020;" (goto "goto") (statement_identifier "LAB_0009e020") (; ";")) (} "}"))) (if_statement "if (local_6c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }" (if "if") (parenthesized_expression "(local_6c != (byte *)0x0)" (( "(") (binary_expression "local_6c != (byte *)0x0" (identifier "local_6c") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;\n            FUN_002446e0();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e4" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x650e4" (identifier "local_94") (+ "+") (number_literal "-0x650e4"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x716;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x716" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x716")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19cc7b"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9e10f;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9e10f" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9e10f")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_0009cd01:\n          local_6c = (byte *)0xffffffff;" (statement_identifier "LAB_0009cd01") (: ":") (expression_statement "local_6c = (byte *)0xffffffff;" (assignment_expression "local_6c = (byte *)0xffffffff" (identifier "local_6c") (= "=") (cast_expression "(byte *)0xffffffff" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";"))) (expression_statement "pbVar13 = local_6c;" (assignment_expression "pbVar13 = local_6c" (identifier "pbVar13") (= "=") (identifier "local_6c")) (; ";")) (labeled_statement "LAB_0009cd08:\n          local_6c = pbVar13;" (statement_identifier "LAB_0009cd08") (: ":") (expression_statement "local_6c = pbVar13;" (assignment_expression "local_6c = pbVar13" (identifier "local_6c") (= "=") (identifier "pbVar13")) (; ";"))) (expression_statement "local_60 = local_90[0xc];" (assignment_expression "local_60 = local_90[0xc]" (identifier "local_60") (= "=") (subscript_expression "local_90[0xc]" (identifier "local_90") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (if_statement "if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {\n            local_64 = local_64 | 0x20000000;\n          }\n          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }" (if "if") (parenthesized_expression "(((byte)*(code *)(local_90 + 10) & 0xf) == 6)" (( "(") (binary_expression "((byte)*(code *)(local_90 + 10) & 0xf) == 6" (parenthesized_expression "((byte)*(code *)(local_90 + 10) & 0xf)" (( "(") (binary_expression "(byte)*(code *)(local_90 + 10) & 0xf" (binary_expression "(byte)*(code *)(local_90 + 10)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)(local_90 + 10)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_90 + 10)" (( "(") (binary_expression "local_90 + 10" (identifier "local_90") (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "6")) () ")")) (compound_statement "{\n            local_64 = local_64 | 0x20000000;\n          }" ({ "{") (expression_statement "local_64 = local_64 | 0x20000000;" (assignment_expression "local_64 = local_64 | 0x20000000" (identifier "local_64") (= "=") (binary_expression "local_64 | 0x20000000" (identifier "local_64") (| "|") (number_literal "0x20000000"))) (; ";")) (} "}")) (else_clause "else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }" (else "else") (if_statement "if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {\n            local_64 = local_64 | 0x40000000;\n          }" (if "if") (parenthesized_expression "(((byte)*(code *)(local_90 + 10) & 0xf) == 10)" (( "(") (binary_expression "((byte)*(code *)(local_90 + 10) & 0xf) == 10" (parenthesized_expression "((byte)*(code *)(local_90 + 10) & 0xf)" (( "(") (binary_expression "(byte)*(code *)(local_90 + 10) & 0xf" (binary_expression "(byte)*(code *)(local_90 + 10)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)(local_90 + 10)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_90 + 10)" (( "(") (binary_expression "local_90 + 10" (identifier "local_90") (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "10")) () ")")) (compound_statement "{\n            local_64 = local_64 | 0x40000000;\n          }" ({ "{") (expression_statement "local_64 = local_64 | 0x40000000;" (assignment_expression "local_64 = local_64 | 0x40000000" (identifier "local_64") (= "=") (binary_expression "local_64 | 0x40000000" (identifier "local_64") (| "|") (number_literal "0x40000000"))) (; ";")) (} "}"))))) (if_statement "if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }" (if "if") (parenthesized_expression "(-1 < (char)*(code *)((int)local_90 + 0x2b))" (( "(") (binary_expression "-1 < (char)*(code *)((int)local_90 + 0x2b)" (number_literal "-1") (< "<") (cast_expression "(char)*(code *)((int)local_90 + 0x2b)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(code *)((int)local_90 + 0x2b)" (* "*") (cast_expression "(code *)((int)local_90 + 0x2b)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2b)" (( "(") (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2b")) () ")")))))) () ")")) (compound_statement "{\nLAB_0009d9b8:\n            local_9c = &local_6c;\n            uVar9 = param_4[1] >> 0x18;\n            goto LAB_0009cd80;\n          }" ({ "{") (labeled_statement "LAB_0009d9b8:\n            local_9c = &local_6c;" (statement_identifier "LAB_0009d9b8") (: ":") (expression_statement "local_9c = &local_6c;" (assignment_expression "local_9c = &local_6c" (identifier "local_9c") (= "=") (pointer_expression "&local_6c" (& "&") (identifier "local_6c"))) (; ";"))) (expression_statement "uVar9 = param_4[1] >> 0x18;" (assignment_expression "uVar9 = param_4[1] >> 0x18" (identifier "uVar9") (= "=") (binary_expression "param_4[1] >> 0x18" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (>> ">>") (number_literal "0x18"))) (; ";")) (goto_statement "goto LAB_0009cd80;" (goto "goto") (statement_identifier "LAB_0009cd80") (; ";")) (} "}"))) (if_statement "if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }\n          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;" (if "if") (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0)" (( "(") (binary_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7)" (( "(") (binary_expression "(byte)*(code *)((int)local_90 + 0x2a) & 7" (binary_expression "(byte)*(code *)((int)local_90 + 0x2a)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)((int)local_90 + 0x2a)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2a)" (( "(") (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }\n          }" ({ "{") (if_statement "if ((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }" (if "if") (parenthesized_expression "((local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0))" (( "(") (binary_expression "(local_90[3] != (undefined *)0x0) ||\n               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" (parenthesized_expression "(local_90[3] != (undefined *)0x0)" (( "(") (binary_expression "local_90[3] != (undefined *)0x0" (subscript_expression "local_90[3]" (identifier "local_90") ([ "[") (number_literal "3") (] "]")) (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" (( "(") (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20)" (( "(") (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 0x20" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)((int)local_90 + 0x2b)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2b)" (( "(") (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              local_9c = &local_6c;\n              uVar9 = param_4[1] >> 0x18;\n              goto LAB_0009cd80;\n            }" ({ "{") (expression_statement "local_9c = &local_6c;" (assignment_expression "local_9c = &local_6c" (identifier "local_9c") (= "=") (pointer_expression "&local_6c" (& "&") (identifier "local_6c"))) (; ";")) (expression_statement "uVar9 = param_4[1] >> 0x18;" (assignment_expression "uVar9 = param_4[1] >> 0x18" (identifier "uVar9") (= "=") (binary_expression "param_4[1] >> 0x18" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (>> ">>") (number_literal "0x18"))) (; ";")) (goto_statement "goto LAB_0009cd80;" (goto "goto") (statement_identifier "LAB_0009cd80") (; ";")) (} "}"))) (} "}")) (else_clause "else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;" (else "else") (if_statement "if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;" (if "if") (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4)" (( "(") (binary_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7)" (( "(") (binary_expression "(byte)*(code *)((int)local_90 + 0x2a) & 7" (binary_expression "(byte)*(code *)((int)local_90 + 0x2a)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)((int)local_90 + 0x2a)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2a)" (( "(") (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "4")) () ")")) (goto_statement "goto LAB_0009d9b8;" (goto "goto") (statement_identifier "LAB_0009d9b8") (; ";"))))) (expression_statement "local_a4 = (int *)0x0;" (assignment_expression "local_a4 = (int *)0x0" (identifier "local_a4") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_9c = &local_6c;" (assignment_expression "local_9c = &local_6c" (identifier "local_9c") (= "=") (pointer_expression "&local_6c" (& "&") (identifier "local_6c"))) (; ";")) (labeled_statement "LAB_0009d9f1:\n          local_bc = &local_6c;" (statement_identifier "LAB_0009d9f1") (: ":") (expression_statement "local_bc = &local_6c;" (assignment_expression "local_bc = &local_6c" (identifier "local_bc") (= "=") (pointer_expression "&local_6c" (& "&") (identifier "local_6c"))) (; ";"))) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (expression_statement "local_5c = (byte *)0x0;" (assignment_expression "local_5c = (byte *)0x0" (identifier "local_5c") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = *local_cc;" (assignment_expression "iVar11 = *local_cc" (identifier "iVar11") (= "=") (pointer_expression "*local_cc" (* "*") (identifier "local_cc"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -8) = param_2[6];" (assignment_expression "*(undefined4 *)(puVar22 + -8) = param_2[6]" (pointer_expression "*(undefined4 *)(puVar22 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "*(int **)(puVar22 + -0xc) = local_cc;" (assignment_expression "*(int **)(puVar22 + -0xc) = local_cc" (pointer_expression "*(int **)(puVar22 + -0xc)" (* "*") (cast_expression "(int **)(puVar22 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_cc")) (; ";")) (expression_statement "local_d0 = &local_5c;" (assignment_expression "local_d0 = &local_5c" (identifier "local_d0") (= "=") (pointer_expression "&local_5c" (& "&") (identifier "local_5c"))) (; ";")) (expression_statement "local_58 = 0xffffffff;" (assignment_expression "local_58 = 0xffffffff" (identifier "local_58") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "local_54 = 0x80000000;" (assignment_expression "local_54 = 0x80000000" (identifier "local_54") (= "=") (number_literal "0x80000000")) (; ";")) (expression_statement "local_50 = (byte *)0x0;" (assignment_expression "local_50 = (byte *)0x0" (identifier "local_50") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(byte ***)(puVar22 + -0x10) = local_b0;" (assignment_expression "*(byte ***)(puVar22 + -0x10) = local_b0" (pointer_expression "*(byte ***)(puVar22 + -0x10)" (* "*") (cast_expression "(byte ***)(puVar22 + -0x10)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_b0")) (; ";")) (expression_statement "pcVar1 = *(code **)(iVar11 + 0x40);" (assignment_expression "pcVar1 = *(code **)(iVar11 + 0x40)" (identifier "pcVar1") (= "=") (pointer_expression "*(code **)(iVar11 + 0x40)" (* "*") (cast_expression "(code **)(iVar11 + 0x40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x40)" (( "(") (binary_expression "iVar11 + 0x40" (identifier "iVar11") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9da35;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9da35" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9da35")) (; ";")) (expression_statement "(*pcVar1)();" (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" (( "(") (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar23 = puVar22 + -4;" (assignment_expression "puVar23 = puVar22 + -4" (identifier "puVar23") (= "=") (binary_expression "puVar22 + -4" (identifier "puVar22") (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" (identifier "bVar26") (= "=") (false "false")) (; ";")) (expression_statement "bVar28 = local_c0 == 0;" (assignment_expression "bVar28 = local_c0 == 0" (identifier "bVar28") (= "=") (binary_expression "local_c0 == 0" (identifier "local_c0") (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar28) {\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }\n          else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }" (if "if") (parenthesized_expression "(bVar28)" (( "(") (identifier "bVar28") () ")")) (compound_statement "{\n            iVar11 = 6;\n            pbVar21 = local_4c;\n            pbVar13 = (byte *)((int)local_94 + -0x19cac3);\n            do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);\n            bVar27 = false;\n            bVar26 = (!bVar26 && !bVar28) == bVar26;\n            if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;\n            *(byte ***)(puVar22 + -0xc) = local_b0;\n            *(int **)(puVar22 + -0x10) = local_a4;\n            *(int **)(puVar22 + -0x14) = local_cc;\n                    \n            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;\n            iVar11 = FUN_00290ed0();\n            local_50 = (byte *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\n            }\n            local_c0 = 1;\n            puVar22 = puVar22 + -4;\n          }" ({ "{") (expression_statement "iVar11 = 6;" (assignment_expression "iVar11 = 6" (identifier "iVar11") (= "=") (number_literal "6")) (; ";")) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" (identifier "pbVar21") (= "=") (identifier "local_4c")) (; ";")) (expression_statement "pbVar13 = (byte *)((int)local_94 + -0x19cac3);" (assignment_expression "pbVar13 = (byte *)((int)local_94 + -0x19cac3)" (identifier "pbVar13") (= "=") (cast_expression "(byte *)((int)local_94 + -0x19cac3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + -0x19cac3)" (( "(") (binary_expression "(int)local_94 + -0x19cac3" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19cac3")) () ")")))) (; ";")) (do_statement "do {\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            } while (bVar28);" (do "do") (compound_statement "{\n              if (iVar11 == 0) break;\n              iVar11 = iVar11 + -1;\n              bVar26 = *pbVar21 < *pbVar13;\n              bVar28 = *pbVar21 == *pbVar13;\n              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n            }" ({ "{") (if_statement "if (iVar11 == 0) break;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + -1" (identifier "iVar11") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar26 = *pbVar21 < *pbVar13;" (assignment_expression "bVar26 = *pbVar21 < *pbVar13" (identifier "bVar26") (= "=") (binary_expression "*pbVar21 < *pbVar13" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (< "<") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")))) (; ";")) (expression_statement "bVar28 = *pbVar21 == *pbVar13;" (assignment_expression "bVar28 = *pbVar21 == *pbVar13" (identifier "bVar28") (= "=") (binary_expression "*pbVar21 == *pbVar13" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (== "==") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" (identifier "pbVar21") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" (identifier "pbVar13") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar28)" (( "(") (identifier "bVar28") () ")")) (; ";")) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" (identifier "bVar27") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = (!bVar26 && !bVar28) == bVar26;" (assignment_expression "bVar26 = (!bVar26 && !bVar28) == bVar26" (identifier "bVar26") (= "=") (binary_expression "(!bVar26 && !bVar28) == bVar26" (parenthesized_expression "(!bVar26 && !bVar28)" (( "(") (binary_expression "!bVar26 && !bVar28" (unary_expression "!bVar26" (! "!") (identifier "bVar26")) (&& "&&") (unary_expression "!bVar28" (! "!") (identifier "bVar28"))) () ")")) (== "==") (identifier "bVar26"))) (; ";")) (if_statement "if (!bVar26) {\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }" (if "if") (parenthesized_expression "(!bVar26)" (( "(") (unary_expression "!bVar26" (! "!") (identifier "bVar26")) () ")")) (compound_statement "{\n              iVar11 = 7;\n              pbVar21 = local_4c;\n              ppuVar17 = local_94 + -0x672af;\n              do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);\n              bVar28 = false;\n              bVar26 = (!bVar27 && !bVar26) == bVar27;\n              if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }\n            }" ({ "{") (expression_statement "iVar11 = 7;" (assignment_expression "iVar11 = 7" (identifier "iVar11") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" (identifier "pbVar21") (= "=") (identifier "local_4c")) (; ";")) (expression_statement "ppuVar17 = local_94 + -0x672af;" (assignment_expression "ppuVar17 = local_94 + -0x672af" (identifier "ppuVar17") (= "=") (binary_expression "local_94 + -0x672af" (identifier "local_94") (+ "+") (number_literal "-0x672af"))) (; ";")) (do_statement "do {\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              } while (bVar26);" (do "do") (compound_statement "{\n                if (iVar11 == 0) break;\n                iVar11 = iVar11 + -1;\n                bVar27 = *pbVar21 < *(byte *)ppuVar17;\n                bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n              }" ({ "{") (if_statement "if (iVar11 == 0) break;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + -1" (identifier "iVar11") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar27 = *pbVar21 < *(byte *)ppuVar17;" (assignment_expression "bVar27 = *pbVar21 < *(byte *)ppuVar17" (identifier "bVar27") (= "=") (binary_expression "*pbVar21 < *(byte *)ppuVar17" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (< "<") (pointer_expression "*(byte *)ppuVar17" (* "*") (cast_expression "(byte *)ppuVar17" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar17"))))) (; ";")) (expression_statement "bVar26 = *pbVar21 == *(byte *)ppuVar17;" (assignment_expression "bVar26 = *pbVar21 == *(byte *)ppuVar17" (identifier "bVar26") (= "=") (binary_expression "*pbVar21 == *(byte *)ppuVar17" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (== "==") (pointer_expression "*(byte *)ppuVar17" (* "*") (cast_expression "(byte *)ppuVar17" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar17"))))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" (identifier "pbVar21") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);" (assignment_expression "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" (identifier "ppuVar17") (= "=") (cast_expression "(undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar17 + (uint)bVar29 * -2 + 1)" (( "(") (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2 + 1" (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2" (cast_expression "(int)ppuVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar17")) (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" (identifier "bVar28") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = (!bVar27 && !bVar26) == bVar27;" (assignment_expression "bVar26 = (!bVar27 && !bVar26) == bVar27" (identifier "bVar26") (= "=") (binary_expression "(!bVar27 && !bVar26) == bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" (( "(") (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" (! "!") (identifier "bVar27")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (== "==") (identifier "bVar27"))) (; ";")) (if_statement "if (!bVar26) {\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }" (if "if") (parenthesized_expression "(!bVar26)" (( "(") (unary_expression "!bVar26" (! "!") (identifier "bVar26")) () ")")) (compound_statement "{\n                iVar11 = 0x11;\n                pbVar21 = local_4c;\n                ppuVar17 = local_94 + -0x672ad;\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);\n                bVar27 = false;\n                bVar26 = (!bVar28 && !bVar26) == bVar28;\n                if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }\n              }" ({ "{") (expression_statement "iVar11 = 0x11;" (assignment_expression "iVar11 = 0x11" (identifier "iVar11") (= "=") (number_literal "0x11")) (; ";")) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" (identifier "pbVar21") (= "=") (identifier "local_4c")) (; ";")) (expression_statement "ppuVar17 = local_94 + -0x672ad;" (assignment_expression "ppuVar17 = local_94 + -0x672ad" (identifier "ppuVar17") (= "=") (binary_expression "local_94 + -0x672ad" (identifier "local_94") (+ "+") (number_literal "-0x672ad"))) (; ";")) (do_statement "do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                } while (bVar26);" (do "do") (compound_statement "{\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                  bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                }" ({ "{") (if_statement "if (iVar11 == 0) break;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + -1" (identifier "iVar11") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar28 = *pbVar21 < *(byte *)ppuVar17;" (assignment_expression "bVar28 = *pbVar21 < *(byte *)ppuVar17" (identifier "bVar28") (= "=") (binary_expression "*pbVar21 < *(byte *)ppuVar17" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (< "<") (pointer_expression "*(byte *)ppuVar17" (* "*") (cast_expression "(byte *)ppuVar17" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar17"))))) (; ";")) (expression_statement "bVar26 = *pbVar21 == *(byte *)ppuVar17;" (assignment_expression "bVar26 = *pbVar21 == *(byte *)ppuVar17" (identifier "bVar26") (= "=") (binary_expression "*pbVar21 == *(byte *)ppuVar17" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (== "==") (pointer_expression "*(byte *)ppuVar17" (* "*") (cast_expression "(byte *)ppuVar17" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar17"))))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" (identifier "pbVar21") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);" (assignment_expression "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" (identifier "ppuVar17") (= "=") (cast_expression "(undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar17 + (uint)bVar29 * -2 + 1)" (( "(") (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2 + 1" (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2" (cast_expression "(int)ppuVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar17")) (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" (identifier "bVar27") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = (!bVar28 && !bVar26) == bVar28;" (assignment_expression "bVar26 = (!bVar28 && !bVar26) == bVar28" (identifier "bVar26") (= "=") (binary_expression "(!bVar28 && !bVar26) == bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" (( "(") (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" (! "!") (identifier "bVar28")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (== "==") (identifier "bVar28"))) (; ";")) (if_statement "if (!bVar26) {\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }" (if "if") (parenthesized_expression "(!bVar26)" (( "(") (unary_expression "!bVar26" (! "!") (identifier "bVar26")) () ")")) (compound_statement "{\n                  iVar11 = 5;\n                  pbVar21 = local_4c;\n                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);\n                  bVar28 = false;\n                  bVar26 = (!bVar27 && !bVar26) == bVar27;\n                  if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }\n                }" ({ "{") (expression_statement "iVar11 = 5;" (assignment_expression "iVar11 = 5" (identifier "iVar11") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" (identifier "pbVar21") (= "=") (identifier "local_4c")) (; ";")) (expression_statement "pbVar13 = (byte *)((int)local_94 + -0x19caa2);" (assignment_expression "pbVar13 = (byte *)((int)local_94 + -0x19caa2)" (identifier "pbVar13") (= "=") (cast_expression "(byte *)((int)local_94 + -0x19caa2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + -0x19caa2)" (( "(") (binary_expression "(int)local_94 + -0x19caa2" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19caa2")) () ")")))) (; ";")) (do_statement "do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  } while (bVar26);" (do "do") (compound_statement "{\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar27 = *pbVar21 < *pbVar13;\n                    bVar26 = *pbVar21 == *pbVar13;\n                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  }" ({ "{") (if_statement "if (iVar11 == 0) break;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + -1" (identifier "iVar11") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar27 = *pbVar21 < *pbVar13;" (assignment_expression "bVar27 = *pbVar21 < *pbVar13" (identifier "bVar27") (= "=") (binary_expression "*pbVar21 < *pbVar13" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (< "<") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")))) (; ";")) (expression_statement "bVar26 = *pbVar21 == *pbVar13;" (assignment_expression "bVar26 = *pbVar21 == *pbVar13" (identifier "bVar26") (= "=") (binary_expression "*pbVar21 == *pbVar13" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (== "==") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" (identifier "pbVar21") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" (identifier "pbVar13") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" (identifier "bVar28") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = (!bVar27 && !bVar26) == bVar27;" (assignment_expression "bVar26 = (!bVar27 && !bVar26) == bVar27" (identifier "bVar26") (= "=") (binary_expression "(!bVar27 && !bVar26) == bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" (( "(") (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" (! "!") (identifier "bVar27")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (== "==") (identifier "bVar27"))) (; ";")) (if_statement "if (!bVar26) {\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }" (if "if") (parenthesized_expression "(!bVar26)" (( "(") (unary_expression "!bVar26" (! "!") (identifier "bVar26")) () ")")) (compound_statement "{\n                    iVar11 = 5;\n                    pbVar21 = local_4c;\n                    ppuVar17 = local_94 + -0x672a7;\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);\n                    bVar27 = false;\n                    bVar26 = (!bVar28 && !bVar26) == bVar28;\n                    if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }\n                  }" ({ "{") (expression_statement "iVar11 = 5;" (assignment_expression "iVar11 = 5" (identifier "iVar11") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" (identifier "pbVar21") (= "=") (identifier "local_4c")) (; ";")) (expression_statement "ppuVar17 = local_94 + -0x672a7;" (assignment_expression "ppuVar17 = local_94 + -0x672a7" (identifier "ppuVar17") (= "=") (binary_expression "local_94 + -0x672a7" (identifier "local_94") (+ "+") (number_literal "-0x672a7"))) (; ";")) (do_statement "do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    } while (bVar26);" (do "do") (compound_statement "{\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *(byte *)ppuVar17;\n                      bVar26 = *pbVar21 == *(byte *)ppuVar17;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                    }" ({ "{") (if_statement "if (iVar11 == 0) break;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + -1" (identifier "iVar11") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar28 = *pbVar21 < *(byte *)ppuVar17;" (assignment_expression "bVar28 = *pbVar21 < *(byte *)ppuVar17" (identifier "bVar28") (= "=") (binary_expression "*pbVar21 < *(byte *)ppuVar17" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (< "<") (pointer_expression "*(byte *)ppuVar17" (* "*") (cast_expression "(byte *)ppuVar17" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar17"))))) (; ";")) (expression_statement "bVar26 = *pbVar21 == *(byte *)ppuVar17;" (assignment_expression "bVar26 = *pbVar21 == *(byte *)ppuVar17" (identifier "bVar26") (= "=") (binary_expression "*pbVar21 == *(byte *)ppuVar17" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (== "==") (pointer_expression "*(byte *)ppuVar17" (* "*") (cast_expression "(byte *)ppuVar17" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar17"))))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" (identifier "pbVar21") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);" (assignment_expression "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" (identifier "ppuVar17") (= "=") (cast_expression "(undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar17 + (uint)bVar29 * -2 + 1)" (( "(") (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2 + 1" (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2" (cast_expression "(int)ppuVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar17")) (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" (identifier "bVar27") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = (!bVar28 && !bVar26) == bVar28;" (assignment_expression "bVar26 = (!bVar28 && !bVar26) == bVar28" (identifier "bVar26") (= "=") (binary_expression "(!bVar28 && !bVar26) == bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" (( "(") (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" (! "!") (identifier "bVar28")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (== "==") (identifier "bVar28"))) (; ";")) (if_statement "if (!bVar26) {\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }" (if "if") (parenthesized_expression "(!bVar26)" (( "(") (unary_expression "!bVar26" (! "!") (identifier "bVar26")) () ")")) (compound_statement "{\n                      iVar11 = 4;\n                      pbVar21 = local_4c;\n                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);\n                      do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);\n                      bVar28 = false;\n                      bVar26 = (!bVar27 && !bVar26) == bVar27;\n                      if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }\n                    }" ({ "{") (expression_statement "iVar11 = 4;" (assignment_expression "iVar11 = 4" (identifier "iVar11") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" (identifier "pbVar21") (= "=") (identifier "local_4c")) (; ";")) (expression_statement "pbVar13 = (byte *)((int)local_94 + -0x19ca96);" (assignment_expression "pbVar13 = (byte *)((int)local_94 + -0x19ca96)" (identifier "pbVar13") (= "=") (cast_expression "(byte *)((int)local_94 + -0x19ca96)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + -0x19ca96)" (( "(") (binary_expression "(int)local_94 + -0x19ca96" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19ca96")) () ")")))) (; ";")) (do_statement "do {\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      } while (bVar26);" (do "do") (compound_statement "{\n                        if (iVar11 == 0) break;\n                        iVar11 = iVar11 + -1;\n                        bVar27 = *pbVar21 < *pbVar13;\n                        bVar26 = *pbVar21 == *pbVar13;\n                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                      }" ({ "{") (if_statement "if (iVar11 == 0) break;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + -1" (identifier "iVar11") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar27 = *pbVar21 < *pbVar13;" (assignment_expression "bVar27 = *pbVar21 < *pbVar13" (identifier "bVar27") (= "=") (binary_expression "*pbVar21 < *pbVar13" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (< "<") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")))) (; ";")) (expression_statement "bVar26 = *pbVar21 == *pbVar13;" (assignment_expression "bVar26 = *pbVar21 == *pbVar13" (identifier "bVar26") (= "=") (binary_expression "*pbVar21 == *pbVar13" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (== "==") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" (identifier "pbVar21") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" (identifier "pbVar13") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" (identifier "bVar28") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = (!bVar27 && !bVar26) == bVar27;" (assignment_expression "bVar26 = (!bVar27 && !bVar26) == bVar27" (identifier "bVar26") (= "=") (binary_expression "(!bVar27 && !bVar26) == bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" (( "(") (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" (! "!") (identifier "bVar27")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (== "==") (identifier "bVar27"))) (; ";")) (if_statement "if (!bVar26) {\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }" (if "if") (parenthesized_expression "(!bVar26)" (( "(") (unary_expression "!bVar26" (! "!") (identifier "bVar26")) () ")")) (compound_statement "{\n                        iVar11 = 10;\n                        pbVar21 = local_4c;\n                        pbVar13 = (byte *)((int)local_94 + -0x19a212);\n                        do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);\n                        bVar27 = false;\n                        bVar26 = (!bVar28 && !bVar26) == bVar28;\n                        if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }\n                        goto LAB_0009dc9a;\n                      }" ({ "{") (expression_statement "iVar11 = 10;" (assignment_expression "iVar11 = 10" (identifier "iVar11") (= "=") (number_literal "10")) (; ";")) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" (identifier "pbVar21") (= "=") (identifier "local_4c")) (; ";")) (expression_statement "pbVar13 = (byte *)((int)local_94 + -0x19a212);" (assignment_expression "pbVar13 = (byte *)((int)local_94 + -0x19a212)" (identifier "pbVar13") (= "=") (cast_expression "(byte *)((int)local_94 + -0x19a212)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + -0x19a212)" (( "(") (binary_expression "(int)local_94 + -0x19a212" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19a212")) () ")")))) (; ";")) (do_statement "do {\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        } while (bVar26);" (do "do") (compound_statement "{\n                          if (iVar11 == 0) break;\n                          iVar11 = iVar11 + -1;\n                          bVar28 = *pbVar21 < *pbVar13;\n                          bVar26 = *pbVar21 == *pbVar13;\n                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                        }" ({ "{") (if_statement "if (iVar11 == 0) break;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + -1" (identifier "iVar11") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar28 = *pbVar21 < *pbVar13;" (assignment_expression "bVar28 = *pbVar21 < *pbVar13" (identifier "bVar28") (= "=") (binary_expression "*pbVar21 < *pbVar13" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (< "<") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")))) (; ";")) (expression_statement "bVar26 = *pbVar21 == *pbVar13;" (assignment_expression "bVar26 = *pbVar21 == *pbVar13" (identifier "bVar26") (= "=") (binary_expression "*pbVar21 == *pbVar13" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (== "==") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" (identifier "pbVar21") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" (identifier "pbVar13") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" (identifier "bVar27") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = (!bVar28 && !bVar26) == bVar28;" (assignment_expression "bVar26 = (!bVar28 && !bVar26) == bVar28" (identifier "bVar26") (= "=") (binary_expression "(!bVar28 && !bVar26) == bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" (( "(") (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" (! "!") (identifier "bVar28")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (== "==") (identifier "bVar28"))) (; ";")) (if_statement "if (!bVar26) {\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }" (if "if") (parenthesized_expression "(!bVar26)" (( "(") (unary_expression "!bVar26" (! "!") (identifier "bVar26")) () ")")) (compound_statement "{\n                          iVar11 = 0x12;\n                          pbVar21 = local_4c;\n                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);\n                          do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);\n                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;\n                        }" ({ "{") (expression_statement "iVar11 = 0x12;" (assignment_expression "iVar11 = 0x12" (identifier "iVar11") (= "=") (number_literal "0x12")) (; ";")) (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" (identifier "pbVar21") (= "=") (identifier "local_4c")) (; ";")) (expression_statement "pbVar13 = (byte *)((int)local_94 + -0x19ca91);" (assignment_expression "pbVar13 = (byte *)((int)local_94 + -0x19ca91)" (identifier "pbVar13") (= "=") (cast_expression "(byte *)((int)local_94 + -0x19ca91)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + -0x19ca91)" (( "(") (binary_expression "(int)local_94 + -0x19ca91" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19ca91")) () ")")))) (; ";")) (do_statement "do {\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          } while (bVar26);" (do "do") (compound_statement "{\n                            if (iVar11 == 0) break;\n                            iVar11 = iVar11 + -1;\n                            bVar27 = *pbVar21 < *pbVar13;\n                            bVar26 = *pbVar21 == *pbVar13;\n                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                          }" ({ "{") (if_statement "if (iVar11 == 0) break;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + -1" (identifier "iVar11") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar27 = *pbVar21 < *pbVar13;" (assignment_expression "bVar27 = *pbVar21 < *pbVar13" (identifier "bVar27") (= "=") (binary_expression "*pbVar21 < *pbVar13" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (< "<") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")))) (; ";")) (expression_statement "bVar26 = *pbVar21 == *pbVar13;" (assignment_expression "bVar26 = *pbVar21 == *pbVar13" (identifier "bVar26") (= "=") (binary_expression "*pbVar21 == *pbVar13" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (== "==") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" (identifier "pbVar21") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" (identifier "pbVar13") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (if_statement "if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;" (if "if") (parenthesized_expression "((!bVar27 && !bVar26) != bVar27)" (( "(") (binary_expression "(!bVar27 && !bVar26) != bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" (( "(") (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" (! "!") (identifier "bVar27")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (!= "!=") (identifier "bVar27")) () ")")) (goto_statement "goto LAB_0009dbca;" (goto "goto") (statement_identifier "LAB_0009dbca") (; ";"))) (} "}"))) (goto_statement "goto LAB_0009dc9a;" (goto "goto") (statement_identifier "LAB_0009dc9a") (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "LAB_0009da6c:\n            *(undefined1 ***)(puVar22 + -8) = local_34;" (statement_identifier "LAB_0009da6c") (: ":") (expression_statement "*(undefined1 ***)(puVar22 + -8) = local_34;" (assignment_expression "*(undefined1 ***)(puVar22 + -8) = local_34" (pointer_expression "*(undefined1 ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined1 ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_34")) (; ";"))) (expression_statement "*(byte ***)(puVar22 + -0xc) = local_b0;" (assignment_expression "*(byte ***)(puVar22 + -0xc) = local_b0" (pointer_expression "*(byte ***)(puVar22 + -0xc)" (* "*") (cast_expression "(byte ***)(puVar22 + -0xc)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_b0")) (; ";")) (expression_statement "*(int **)(puVar22 + -0x10) = local_a4;" (assignment_expression "*(int **)(puVar22 + -0x10) = local_a4" (pointer_expression "*(int **)(puVar22 + -0x10)" (* "*") (cast_expression "(int **)(puVar22 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_a4")) (; ";")) (expression_statement "*(int **)(puVar22 + -0x14) = local_cc;" (assignment_expression "*(int **)(puVar22 + -0x14) = local_cc" (pointer_expression "*(int **)(puVar22 + -0x14)" (* "*") (cast_expression "(int **)(puVar22 + -0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_cc")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x18) = 0x9da8d;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = 0x9da8d" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x18)" (( "(") (binary_expression "puVar22 + -0x18" (identifier "puVar22") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x9da8d")) (; ";")) (expression_statement "iVar11 = FUN_00290ed0();" (assignment_expression "iVar11 = FUN_00290ed0()" (identifier "iVar11") (= "=") (call_expression "FUN_00290ed0()" (identifier "FUN_00290ed0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_50 = (byte *)0x0;" (assignment_expression "local_50 = (byte *)0x0" (identifier "local_50") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((char)local_34[0] != '\0') {\n              local_50 = local_9c[3] + iVar11;\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_50 = local_9c[3] + iVar11;\n            }" ({ "{") (expression_statement "local_50 = local_9c[3] + iVar11;" (assignment_expression "local_50 = local_9c[3] + iVar11" (identifier "local_50") (= "=") (binary_expression "local_9c[3] + iVar11" (subscript_expression "local_9c[3]" (identifier "local_9c") ([ "[") (number_literal "3") (] "]")) (+ "+") (identifier "iVar11"))) (; ";")) (} "}"))) (expression_statement "local_c0 = 1;" (assignment_expression "local_c0 = 1" (identifier "local_c0") (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar22 = puVar22 + -4;" (assignment_expression "puVar22 = puVar22 + -4" (identifier "puVar22") (= "=") (binary_expression "puVar22 + -4" (identifier "puVar22") (+ "+") (number_literal "-4"))) (; ";")) (} "}")) (else_clause "else {\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }" (else "else") (compound_statement "{\n            if (local_c0 == 1) goto LAB_0009da6c;\n            if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }\n            local_50 = (byte *)0x0;\n            puVar22 = puVar23;\n          }" ({ "{") (if_statement "if (local_c0 == 1) goto LAB_0009da6c;" (if "if") (parenthesized_expression "(local_c0 == 1)" (( "(") (binary_expression "local_c0 == 1" (identifier "local_c0") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_0009da6c;" (goto "goto") (statement_identifier "LAB_0009da6c") (; ";"))) (if_statement "if (local_c0 == 3) {\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }\n            else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }" (if "if") (parenthesized_expression "(local_c0 == 3)" (( "(") (binary_expression "local_c0 == 3" (identifier "local_c0") (== "==") (number_literal "3")) () ")")) (compound_statement "{\nLAB_0009dbca:\n              uVar15 = param_2[2];\n              if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }\n              *(undefined1 **)(puVar23 + -4) = &local_81;\n              *(undefined1 **)(puVar23 + -8) = local_80;\n              *(uint *)(puVar23 + -0xc) = local_a0;\n              *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;\n              iVar11 = FUN_00296fa0();\n              if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }\n              local_c0 = 3;\n            }" ({ "{") (labeled_statement "LAB_0009dbca:\n              uVar15 = param_2[2];" (statement_identifier "LAB_0009dbca") (: ":") (expression_statement "uVar15 = param_2[2];" (assignment_expression "uVar15 = param_2[2]" (identifier "uVar15") (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";"))) (if_statement "if (local_90 == (undefined **)0x0) {\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }\n              else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }" (if "if") (parenthesized_expression "(local_90 == (undefined **)0x0)" (( "(") (binary_expression "local_90 == (undefined **)0x0" (identifier "local_90") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                *(uint *)(puVar22 + -0x10) = local_a0;\n                *(undefined4 *)(puVar22 + -0x14) = uVar15;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;\n                uVar10 = FUN_00297920();\n                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;\n                uVar14 = gettext();\n                *(uint *)(puVar22 + -0xc) = local_a0;\n                *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                *(undefined4 *)(puVar22 + -0x14) = uVar14;\n                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x1c) = local_c4;\n                *(int *)(puVar22 + -0x20) = local_b4;\n                *(undefined4 **)(puVar22 + -0x24) = param_2;\n                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;\n                FUN_0023be30();\n                puVar23 = puVar22 + -4;\n              }" ({ "{") (expression_statement "*(uint *)(puVar22 + -0x10) = local_a0;" (assignment_expression "*(uint *)(puVar22 + -0x10) = local_a0" (pointer_expression "*(uint *)(puVar22 + -0x10)" (* "*") (cast_expression "(uint *)(puVar22 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_a0")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x18) = 0x9e225;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = 0x9e225" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x18)" (( "(") (binary_expression "puVar22 + -0x18" (identifier "puVar22") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x9e225")) (; ";")) (expression_statement "uVar10 = FUN_00297920();" (assignment_expression "uVar10 = FUN_00297920()" (identifier "uVar10") (= "=") (call_expression "FUN_00297920()" (identifier "FUN_00297920") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;" (assignment_expression "*(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa" (pointer_expression "*(undefined ***)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined ***)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "local_94 + -0x671fa" (identifier "local_94") (+ "+") (number_literal "-0x671fa"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x18) = 0x9e23d;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = 0x9e23d" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x18)" (( "(") (binary_expression "puVar22 + -0x18" (identifier "puVar22") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x9e23d")) (; ";")) (expression_statement "uVar14 = gettext();" (assignment_expression "uVar14 = gettext()" (identifier "uVar14") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(uint *)(puVar22 + -0xc) = local_a0;" (assignment_expression "*(uint *)(puVar22 + -0xc) = local_a0" (pointer_expression "*(uint *)(puVar22 + -0xc)" (* "*") (cast_expression "(uint *)(puVar22 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_a0")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar10;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar10" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = uVar14;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = uVar14" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "uVar14")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;" (assignment_expression "*(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f" (pointer_expression "*(int *)(puVar22 + -0x18)" (* "*") (cast_expression "(int *)(puVar22 + -0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x18)" (( "(") (binary_expression "puVar22 + -0x18" (identifier "puVar22") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "(int)local_c4 >> 0x1f" (cast_expression "(int)local_c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c4")) (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "*(uint *)(puVar22 + -0x1c) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -0x1c) = local_c4" (pointer_expression "*(uint *)(puVar22 + -0x1c)" (* "*") (cast_expression "(uint *)(puVar22 + -0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x1c)" (( "(") (binary_expression "puVar22 + -0x1c" (identifier "puVar22") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "local_c4")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x20) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x20) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x20)" (* "*") (cast_expression "(int *)(puVar22 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x20)" (( "(") (binary_expression "puVar22 + -0x20" (identifier "puVar22") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_b4")) (; ";")) (expression_statement "*(undefined4 **)(puVar22 + -0x24) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x24) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x24)" (* "*") (cast_expression "(undefined4 **)(puVar22 + -0x24)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x24)" (( "(") (binary_expression "puVar22 + -0x24" (identifier "puVar22") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x28) = 0x9e265;" (assignment_expression "*(undefined4 *)(puVar22 + -0x28) = 0x9e265" (pointer_expression "*(undefined4 *)(puVar22 + -0x28)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x28)" (( "(") (binary_expression "puVar22 + -0x28" (identifier "puVar22") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (number_literal "0x9e265")) (; ";")) (expression_statement "FUN_0023be30();" (call_expression "FUN_0023be30()" (identifier "FUN_0023be30") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar23 = puVar22 + -4;" (assignment_expression "puVar23 = puVar22 + -4" (identifier "puVar23") (= "=") (binary_expression "puVar22 + -4" (identifier "puVar22") (+ "+") (number_literal "-4"))) (; ";")) (} "}")) (else_clause "else {\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }" (else "else") (compound_statement "{\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined1 ***)(puVar22 + -0x14) = local_34;\n                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;\n                FUN_0034dd40();\n                puVar6 = local_34[0];\n                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;\n                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;\n                uVar10 = gettext();\n                *(undefined1 **)(puVar22 + -0x14) = puVar6;\n                *(undefined4 *)(puVar22 + -0x18) = uVar10;\n                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x20) = local_c4;\n                *(int *)(puVar22 + -0x24) = local_b4;\n                *(undefined4 **)(puVar22 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;\n                FUN_0023be30();\n                puVar23 = puVar22 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }\n              }" ({ "{") (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_90")) (; ";")) (expression_statement "*(undefined1 ***)(puVar22 + -0x14) = local_34;" (assignment_expression "*(undefined1 ***)(puVar22 + -0x14) = local_34" (pointer_expression "*(undefined1 ***)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined1 ***)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = 0x9dbf6" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x18)" (( "(") (binary_expression "puVar22 + -0x18" (identifier "puVar22") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x9dbf6")) (; ";")) (expression_statement "FUN_0034dd40();" (call_expression "FUN_0034dd40()" (identifier "FUN_0034dd40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar6 = local_34[0];" (assignment_expression "puVar6 = local_34[0]" (identifier "puVar6") (= "=") (subscript_expression "local_34[0]" (identifier "local_34") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;" (assignment_expression "*(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4" (pointer_expression "*(undefined ***)(puVar22 + -0x18)" (* "*") (cast_expression "(undefined ***)(puVar22 + -0x18)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x18)" (( "(") (binary_expression "puVar22 + -0x18" (identifier "puVar22") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "local_94 + -0x671e4" (identifier "local_94") (+ "+") (number_literal "-0x671e4"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;" (assignment_expression "*(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d" (pointer_expression "*(undefined4 *)(puVar22 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x1c)" (( "(") (binary_expression "puVar22 + -0x1c" (identifier "puVar22") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0x9dc0d")) (; ";")) (expression_statement "uVar10 = gettext();" (assignment_expression "uVar10 = gettext()" (identifier "uVar10") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined1 **)(puVar22 + -0x14) = puVar6;" (assignment_expression "*(undefined1 **)(puVar22 + -0x14) = puVar6" (pointer_expression "*(undefined1 **)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "puVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x18) = uVar10;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = uVar10" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x18)" (( "(") (binary_expression "puVar22 + -0x18" (identifier "puVar22") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;" (assignment_expression "*(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f" (pointer_expression "*(int *)(puVar22 + -0x1c)" (* "*") (cast_expression "(int *)(puVar22 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x1c)" (( "(") (binary_expression "puVar22 + -0x1c" (identifier "puVar22") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (binary_expression "(int)local_c4 >> 0x1f" (cast_expression "(int)local_c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c4")) (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "*(uint *)(puVar22 + -0x20) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -0x20) = local_c4" (pointer_expression "*(uint *)(puVar22 + -0x20)" (* "*") (cast_expression "(uint *)(puVar22 + -0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x20)" (( "(") (binary_expression "puVar22 + -0x20" (identifier "puVar22") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_c4")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x24) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x24) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x24)" (* "*") (cast_expression "(int *)(puVar22 + -0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x24)" (( "(") (binary_expression "puVar22 + -0x24" (identifier "puVar22") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (identifier "local_b4")) (; ";")) (expression_statement "*(undefined4 **)(puVar22 + -0x28) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x28) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x28)" (* "*") (cast_expression "(undefined4 **)(puVar22 + -0x28)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x28)" (( "(") (binary_expression "puVar22 + -0x28" (identifier "puVar22") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;" (assignment_expression "*(undefined4 *)(puVar22 + -0x2c) = 0x9dc30" (pointer_expression "*(undefined4 *)(puVar22 + -0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x2c)" (( "(") (binary_expression "puVar22 + -0x2c" (identifier "puVar22") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (number_literal "0x9dc30")) (; ";")) (expression_statement "FUN_0023be30();" (call_expression "FUN_0023be30()" (identifier "FUN_0023be30") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar23 = puVar22 + -8;" (assignment_expression "puVar23 = puVar22 + -8" (identifier "puVar23") (= "=") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8"))) (; ";")) (if_statement "if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -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 **)(puVar22 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;\n                  FUN_003ae080();\n                  puVar23 = puVar22 + -8;\n                }" ({ "{") (expression_statement "*(undefined1 **)(puVar22 + -0x18) = local_34[0];" (assignment_expression "*(undefined1 **)(puVar22 + -0x18) = local_34[0]" (pointer_expression "*(undefined1 **)(puVar22 + -0x18)" (* "*") (cast_expression "(undefined1 **)(puVar22 + -0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x18)" (( "(") (binary_expression "puVar22 + -0x18" (identifier "puVar22") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (subscript_expression "local_34[0]" (identifier "local_34") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;" (assignment_expression "*(undefined4 *)(puVar22 + -0x1c) = 0x9dc46" (pointer_expression "*(undefined4 *)(puVar22 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x1c)" (( "(") (binary_expression "puVar22 + -0x1c" (identifier "puVar22") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0x9dc46")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar23 = puVar22 + -8;" (assignment_expression "puVar23 = puVar22 + -8" (identifier "puVar23") (= "=") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "*(undefined1 **)(puVar23 + -4) = &local_81;" (assignment_expression "*(undefined1 **)(puVar23 + -4) = &local_81" (pointer_expression "*(undefined1 **)(puVar23 + -4)" (* "*") (cast_expression "(undefined1 **)(puVar23 + -4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar23 + -4)" (( "(") (binary_expression "puVar23 + -4" (identifier "puVar23") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&local_81" (& "&") (identifier "local_81"))) (; ";")) (expression_statement "*(undefined1 **)(puVar23 + -8) = local_80;" (assignment_expression "*(undefined1 **)(puVar23 + -8) = local_80" (pointer_expression "*(undefined1 **)(puVar23 + -8)" (* "*") (cast_expression "(undefined1 **)(puVar23 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar23 + -8)" (( "(") (binary_expression "puVar23 + -8" (identifier "puVar23") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_80")) (; ";")) (expression_statement "*(uint *)(puVar23 + -0xc) = local_a0;" (assignment_expression "*(uint *)(puVar23 + -0xc) = local_a0" (pointer_expression "*(uint *)(puVar23 + -0xc)" (* "*") (cast_expression "(uint *)(puVar23 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0xc)" (( "(") (binary_expression "puVar23 + -0xc" (identifier "puVar23") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_a0")) (; ";")) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar23 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0x10)" (( "(") (binary_expression "puVar23 + -0x10" (identifier "puVar23") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9dc63;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9dc63" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar23 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0x14)" (( "(") (binary_expression "puVar23 + -0x14" (identifier "puVar23") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9dc63")) (; ";")) (expression_statement "iVar11 = FUN_00296fa0();" (assignment_expression "iVar11 = FUN_00296fa0()" (identifier "iVar11") (= "=") (call_expression "FUN_00296fa0()" (identifier "FUN_00296fa0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar11 != 0) {\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }" (if "if") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                *(int **)(puVar23 + -8) = &local_7c;\n                *(int *)(puVar23 + -0xc) = iVar11;\n                *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;\n                iVar11 = FUN_00291140();\n                if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }\n                if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }\n              }" ({ "{") (expression_statement "*(int **)(puVar23 + -8) = &local_7c;" (assignment_expression "*(int **)(puVar23 + -8) = &local_7c" (pointer_expression "*(int **)(puVar23 + -8)" (* "*") (cast_expression "(int **)(puVar23 + -8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar23 + -8)" (( "(") (binary_expression "puVar23 + -8" (identifier "puVar23") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&local_7c" (& "&") (identifier "local_7c"))) (; ";")) (expression_statement "*(int *)(puVar23 + -0xc) = iVar11;" (assignment_expression "*(int *)(puVar23 + -0xc) = iVar11" (pointer_expression "*(int *)(puVar23 + -0xc)" (* "*") (cast_expression "(int *)(puVar23 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0xc)" (( "(") (binary_expression "puVar23 + -0xc" (identifier "puVar23") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar23 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0x10)" (( "(") (binary_expression "puVar23 + -0x10" (identifier "puVar23") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9e18c;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9e18c" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar23 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0x14)" (( "(") (binary_expression "puVar23 + -0x14" (identifier "puVar23") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9e18c")) (; ";")) (expression_statement "iVar11 = FUN_00291140();" (assignment_expression "iVar11 = FUN_00291140()" (identifier "iVar11") (= "=") (call_expression "FUN_00291140()" (identifier "FUN_00291140") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (local_7c != 0) {\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }" (if "if") (parenthesized_expression "(local_7c != 0)" (( "(") (binary_expression "local_7c != 0" (identifier "local_7c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  *(int *)(puVar23 + -0xc) = local_7c;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar15;\n                    \n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;\n                  uVar15 = FUN_00297920();\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;\n                  FUN_0023b870();\n                }" ({ "{") (expression_statement "*(int *)(puVar23 + -0xc) = local_7c;" (assignment_expression "*(int *)(puVar23 + -0xc) = local_7c" (pointer_expression "*(int *)(puVar23 + -0xc)" (* "*") (cast_expression "(int *)(puVar23 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0xc)" (( "(") (binary_expression "puVar23 + -0xc" (identifier "puVar23") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_7c")) (; ";")) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar23 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0x10)" (( "(") (binary_expression "puVar23 + -0x10" (identifier "puVar23") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9f038;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9f038" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar23 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0x14)" (( "(") (binary_expression "puVar23 + -0x14" (identifier "puVar23") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f038")) (; ";")) (expression_statement "uVar15 = FUN_00297920();" (assignment_expression "uVar15 = FUN_00297920()" (identifier "uVar15") (= "=") (call_expression "FUN_00297920()" (identifier "FUN_00297920") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;" (assignment_expression "*(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf" (pointer_expression "*(undefined ***)(puVar23 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar23 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar23 + -0x10)" (( "(") (binary_expression "puVar23 + -0x10" (identifier "puVar23") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_94 + -0x671cf" (identifier "local_94") (+ "+") (number_literal "-0x671cf"))) (; ";")) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9f050;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9f050" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar23 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0x14)" (( "(") (binary_expression "puVar23 + -0x14" (identifier "puVar23") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f050")) (; ";")) (expression_statement "uVar10 = gettext();" (assignment_expression "uVar10 = gettext()" (identifier "uVar10") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar23 + -0xc) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0xc) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar23 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0xc)" (( "(") (binary_expression "puVar23 + -0xc" (identifier "puVar23") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = uVar10;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = uVar10" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar23 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0x10)" (( "(") (binary_expression "puVar23 + -0x10" (identifier "puVar23") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9f05f;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9f05f" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar23 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0x14)" (( "(") (binary_expression "puVar23 + -0x14" (identifier "puVar23") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f05f")) (; ";")) (expression_statement "FUN_0023b870();" (call_expression "FUN_0023b870()" (identifier "FUN_0023b870") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (iVar11 != 0) {\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }" (if "if") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar15 = *(undefined4 *)(iVar11 + 4);\n                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;\n                  uVar10 = gettext();\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = uVar10;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;\n                  FUN_0023b870();\n                }" ({ "{") (expression_statement "uVar15 = *(undefined4 *)(iVar11 + 4);" (assignment_expression "uVar15 = *(undefined4 *)(iVar11 + 4)" (identifier "uVar15") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 4)" (( "(") (binary_expression "iVar11 + 4" (identifier "iVar11") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;" (assignment_expression "*(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7" (pointer_expression "*(undefined ***)(puVar23 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar23 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar23 + -0x10)" (( "(") (binary_expression "puVar23 + -0x10" (identifier "puVar23") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_94 + -0x671c7" (identifier "local_94") (+ "+") (number_literal "-0x671c7"))) (; ";")) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9e1be;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9e1be" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar23 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0x14)" (( "(") (binary_expression "puVar23 + -0x14" (identifier "puVar23") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9e1be")) (; ";")) (expression_statement "uVar10 = gettext();" (assignment_expression "uVar10 = gettext()" (identifier "uVar10") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar23 + -0xc) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0xc) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar23 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0xc)" (( "(") (binary_expression "puVar23 + -0xc" (identifier "puVar23") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = uVar10;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = uVar10" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar23 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0x10)" (( "(") (binary_expression "puVar23 + -0x10" (identifier "puVar23") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x9e1c7" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar23 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + -0x14)" (( "(") (binary_expression "puVar23 + -0x14" (identifier "puVar23") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9e1c7")) (; ";")) (expression_statement "FUN_0023b870();" (call_expression "FUN_0023b870()" (identifier "FUN_0023b870") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "local_c0 = 3;" (assignment_expression "local_c0 = 3" (identifier "local_c0") (= "=") (number_literal "3")) (; ";")) (} "}")) (else_clause "else {\nLAB_0009dc9a:\n              local_c0 = 2;\n            }" (else "else") (compound_statement "{\nLAB_0009dc9a:\n              local_c0 = 2;\n            }" ({ "{") (labeled_statement "LAB_0009dc9a:\n              local_c0 = 2;" (statement_identifier "LAB_0009dc9a") (: ":") (expression_statement "local_c0 = 2;" (assignment_expression "local_c0 = 2" (identifier "local_c0") (= "=") (number_literal "2")) (; ";"))) (} "}")))) (expression_statement "local_50 = (byte *)0x0;" (assignment_expression "local_50 = (byte *)0x0" (identifier "local_50") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar22 = puVar23;" (assignment_expression "puVar22 = puVar23" (identifier "puVar22") (= "=") (identifier "puVar23")) (; ";")) (} "}")))) (if_statement "if (local_5c != (byte *)0x0) {\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }" (if "if") (parenthesized_expression "(local_5c != (byte *)0x0)" (( "(") (binary_expression "local_5c != (byte *)0x0" (identifier "local_5c") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;\n            *(undefined4 *)(puVar22 + -0xc) = 0x716;\n            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;\n            FUN_002446e0();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e4" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x650e4" (identifier "local_94") (+ "+") (number_literal "-0x650e4"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x716;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x716" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x716")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x19cc7b" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19cc7b"))) (; ";")) (expression_statement "*(undefined **)(puVar22 + -0x14) = &UNK_0009f212;" (assignment_expression "*(undefined **)(puVar22 + -0x14) = &UNK_0009f212" (pointer_expression "*(undefined **)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0009f212" (& "&") (identifier "UNK_0009f212"))) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_5c = (byte *)0xffffffff;" (assignment_expression "local_5c = (byte *)0xffffffff" (identifier "local_5c") (= "=") (cast_expression "(byte *)0xffffffff" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (if_statement "if (local_4c != (byte *)&local_44) {\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }" (if "if") (parenthesized_expression "(local_4c != (byte *)&local_44)" (( "(") (binary_expression "local_4c != (byte *)&local_44" (identifier "local_4c") (!= "!=") (cast_expression "(byte *)&local_44" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_44" (& "&") (identifier "local_44")))) () ")")) (compound_statement "{\n            *(byte **)(puVar22 + -0x10) = local_4c;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;\n            FUN_003ae080();\n          }" ({ "{") (expression_statement "*(byte **)(puVar22 + -0x10) = local_4c;" (assignment_expression "*(byte **)(puVar22 + -0x10) = local_4c" (pointer_expression "*(byte **)(puVar22 + -0x10)" (* "*") (cast_expression "(byte **)(puVar22 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_4c")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9dadb;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9dadb" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9dadb")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_9c = &local_5c;" (assignment_expression "local_9c = &local_5c" (identifier "local_9c") (= "=") (pointer_expression "&local_5c" (& "&") (identifier "local_5c"))) (; ";")) (expression_statement "uVar9 = param_4[1] >> 0x18;" (assignment_expression "uVar9 = param_4[1] >> 0x18" (identifier "uVar9") (= "=") (binary_expression "param_4[1] >> 0x18" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (>> ">>") (number_literal "0x18"))) (; ";")) (} "}")))) (expression_statement "local_d0 = &local_5c;" (assignment_expression "local_d0 = &local_5c" (identifier "local_d0") (= "=") (pointer_expression "&local_5c" (& "&") (identifier "local_5c"))) (; ";")) (expression_statement "local_b8 = uVar9 & 0xff;" (assignment_expression "local_b8 = uVar9 & 0xff" (identifier "local_b8") (= "=") (binary_expression "uVar9 & 0xff" (identifier "uVar9") (& "&") (number_literal "0xff"))) (; ";")) (expression_statement "bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;" (assignment_expression "bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1" (identifier "bVar24") (= "=") (binary_expression "*(byte *)((int)local_9c + 0xb) >> 6 & 1" (binary_expression "*(byte *)((int)local_9c + 0xb) >> 6" (pointer_expression "*(byte *)((int)local_9c + 0xb)" (* "*") (cast_expression "(byte *)((int)local_9c + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_9c + 0xb)" (( "(") (binary_expression "(int)local_9c + 0xb" (cast_expression "(int)local_9c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_9c")) (+ "+") (number_literal "0xb")) () ")")))) (>> ">>") (number_literal "6")) (& "&") (number_literal "1"))) (; ";")) (if_statement "if (((int)local_c4 < 0) || (param_10 <= local_c4)) {\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }\n        else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }" (if "if") (parenthesized_expression "(((int)local_c4 < 0) || (param_10 <= local_c4))" (( "(") (binary_expression "((int)local_c4 < 0) || (param_10 <= local_c4)" (parenthesized_expression "((int)local_c4 < 0)" (( "(") (binary_expression "(int)local_c4 < 0" (cast_expression "(int)local_c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c4")) (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(param_10 <= local_c4)" (( "(") (binary_expression "param_10 <= local_c4" (identifier "param_10") (<= "<=") (identifier "local_c4")) () ")"))) () ")")) (compound_statement "{\n          local_a0 = 0;\n          local_78 = param_4;\n          if (local_74 != '\0') goto LAB_0009dd10;\nLAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;\n          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;\n          uVar15 = gettext();\n          *(uint *)(puVar22 + -0xc) = local_c4;\n          *(undefined4 *)(puVar22 + -0x10) = uVar15;\n          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;\n          *(uint *)(puVar22 + -0x18) = local_c4;\n          *(int *)(puVar22 + -0x1c) = local_b4;\n          *(undefined4 **)(puVar22 + -0x20) = param_2;\n                    \n          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;\n          FUN_0023be30();\n        }" ({ "{") (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" (identifier "local_a0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_78 = param_4;" (assignment_expression "local_78 = param_4" (identifier "local_78") (= "=") (identifier "param_4")) (; ";")) (if_statement "if (local_74 != '\0') goto LAB_0009dd10;" (if "if") (parenthesized_expression "(local_74 != '\0')" (( "(") (binary_expression "local_74 != '\0'" (identifier "local_74") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0009dd10;" (goto "goto") (statement_identifier "LAB_0009dd10") (; ";"))) (labeled_statement "LAB_0009dcd4:\n          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;" (statement_identifier "LAB_0009dcd4") (: ":") (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x19ca7f" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19ca7f"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9dceb;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9dceb" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9dceb")) (; ";")) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" (identifier "uVar15") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(uint *)(puVar22 + -0xc) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -0xc) = local_c4" (pointer_expression "*(uint *)(puVar22 + -0xc)" (* "*") (cast_expression "(uint *)(puVar22 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_c4")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;" (assignment_expression "*(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f" (pointer_expression "*(int *)(puVar22 + -0x14)" (* "*") (cast_expression "(int *)(puVar22 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "(int)local_c4 >> 0x1f" (cast_expression "(int)local_c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c4")) (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "*(uint *)(puVar22 + -0x18) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -0x18) = local_c4" (pointer_expression "*(uint *)(puVar22 + -0x18)" (* "*") (cast_expression "(uint *)(puVar22 + -0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x18)" (( "(") (binary_expression "puVar22 + -0x18" (identifier "puVar22") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "local_c4")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x1c) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x1c) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x1c)" (* "*") (cast_expression "(int *)(puVar22 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x1c)" (( "(") (binary_expression "puVar22 + -0x1c" (identifier "puVar22") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "local_b4")) (; ";")) (expression_statement "*(undefined4 **)(puVar22 + -0x20) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x20) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x20)" (* "*") (cast_expression "(undefined4 **)(puVar22 + -0x20)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x20)" (( "(") (binary_expression "puVar22 + -0x20" (identifier "puVar22") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9dd08;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9dd08" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x24)" (( "(") (binary_expression "puVar22 + -0x24" (identifier "puVar22") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x9dd08")) (; ";")) (expression_statement "FUN_0023be30();" (call_expression "FUN_0023be30()" (identifier "FUN_0023be30") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }" (else "else") (compound_statement "{\n          local_a0 = local_c4 + param_8;\n          local_78 = param_4;\n          if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }\n        }" ({ "{") (expression_statement "local_a0 = local_c4 + param_8;" (assignment_expression "local_a0 = local_c4 + param_8" (identifier "local_a0") (= "=") (binary_expression "local_c4 + param_8" (identifier "local_c4") (+ "+") (identifier "param_8"))) (; ";")) (expression_statement "local_78 = param_4;" (assignment_expression "local_78 = param_4" (identifier "local_78") (= "=") (identifier "param_4")) (; ";")) (if_statement "if (local_74 == '\0') {\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }\n          else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }" (if "if") (parenthesized_expression "(local_74 == '\0')" (( "(") (binary_expression "local_74 == '\0'" (identifier "local_74") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;\n            if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }\n            local_4c = (byte *)0x0;\n            local_48 = 0xffffffff;\n            local_a4 = (int *)param_2[2];\n            local_44 = 0x80000000;\n            local_40 = (undefined *)0x0;\n            if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }\nLAB_0009d200:\n            local_c8 = local_c4 + param_9;\n            if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }\n            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;\n            uVar15 = gettext();\n            uVar9 = *local_78;\n            *(uint *)(puVar22 + -0xc) = local_b8;\n            *(undefined4 *)(puVar22 + -0x10) = uVar15;\n            *(undefined4 *)(puVar22 + -0x14) = 0;\n            *(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(int *)(puVar22 + -0x1c) = local_b4;\n            *(undefined4 **)(puVar22 + -0x20) = param_2;\n            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;\n            FUN_0023be30();\n            *(byte ***)(puVar22 + -0x10) = local_b0;\n            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;\n            FUN_00072240();\n            if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }\n          }" ({ "{") (labeled_statement "LAB_0009cdf2:\n            if (local_a0 == 0) goto LAB_0009dcd4;" (statement_identifier "LAB_0009cdf2") (: ":") (if_statement "if (local_a0 == 0) goto LAB_0009dcd4;" (if "if") (parenthesized_expression "(local_a0 == 0)" (( "(") (binary_expression "local_a0 == 0" (identifier "local_a0") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009dcd4;" (goto "goto") (statement_identifier "LAB_0009dcd4") (; ";")))) (if_statement "if (local_70 == local_a0) {\n              local_a0 = local_a0 + -4;\n            }" (if "if") (parenthesized_expression "(local_70 == local_a0)" (( "(") (binary_expression "local_70 == local_a0" (identifier "local_70") (== "==") (identifier "local_a0")) () ")")) (compound_statement "{\n              local_a0 = local_a0 + -4;\n            }" ({ "{") (expression_statement "local_a0 = local_a0 + -4;" (assignment_expression "local_a0 = local_a0 + -4" (identifier "local_a0") (= "=") (binary_expression "local_a0 + -4" (identifier "local_a0") (+ "+") (number_literal "-4"))) (; ";")) (} "}"))) (expression_statement "local_4c = (byte *)0x0;" (assignment_expression "local_4c = (byte *)0x0" (identifier "local_4c") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_48 = 0xffffffff;" (assignment_expression "local_48 = 0xffffffff" (identifier "local_48") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "local_a4 = (int *)param_2[2];" (assignment_expression "local_a4 = (int *)param_2[2]" (identifier "local_a4") (= "=") (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 "local_44 = 0x80000000;" (assignment_expression "local_44 = 0x80000000" (identifier "local_44") (= "=") (number_literal "0x80000000")) (; ";")) (expression_statement "local_40 = (undefined *)0x0;" (assignment_expression "local_40 = (undefined *)0x0" (identifier "local_40") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (local_90 == (undefined **)0x0) {\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }\n            else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }" (if "if") (parenthesized_expression "(local_90 == (undefined **)0x0)" (( "(") (binary_expression "local_90 == (undefined **)0x0" (identifier "local_90") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }\n            }" ({ "{") (if_statement "if (bVar24 == 0) {\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }\n              else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }" (if "if") (parenthesized_expression "(bVar24 == 0)" (( "(") (binary_expression "bVar24 == 0" (identifier "bVar24") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }\n              }" ({ "{") (expression_statement "uVar9 = local_78[2];" (assignment_expression "uVar9 = local_78[2]" (identifier "uVar9") (= "=") (subscript_expression "local_78[2]" (identifier "local_78") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;" (assignment_expression "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" (identifier "local_ac") (= "=") (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar9 << 0x18" (identifier "uVar9") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_a8 = (int)local_ac >> 0x1f;" (assignment_expression "local_a8 = (int)local_ac >> 0x1f" (identifier "local_a8") (= "=") (binary_expression "(int)local_ac >> 0x1f" (cast_expression "(int)local_ac" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_ac")) (>> ">>") (number_literal "0x1f"))) (; ";")) (if_statement "if (local_b8 < 0xd) {\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }\n                else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }" (if "if") (parenthesized_expression "(local_b8 < 0xd)" (( "(") (binary_expression "local_b8 < 0xd" (identifier "local_b8") (< "<") (number_literal "0xd")) () ")")) (compound_statement "{\nLAB_0009d1f2:\n                  local_b0 = &local_4c;\n                }" ({ "{") (labeled_statement "LAB_0009d1f2:\n                  local_b0 = &local_4c;" (statement_identifier "LAB_0009d1f2") (: ":") (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";"))) (} "}")) (else_clause "else {\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }" (else "else") (compound_statement "{\n                  if (local_b8 < 0x10) goto LAB_0009d56d;\n                  if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }\n                  local_b0 = &local_4c;\nLAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;\n                  *(int **)(puVar22 + -0xc) = local_a4;\n                  *(byte ***)(puVar22 + -0x10) = local_9c;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;\n                  uVar15 = FUN_000a90f0();\n                  if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }\n                }" ({ "{") (if_statement "if (local_b8 < 0x10) goto LAB_0009d56d;" (if "if") (parenthesized_expression "(local_b8 < 0x10)" (( "(") (binary_expression "local_b8 < 0x10" (identifier "local_b8") (< "<") (number_literal "0x10")) () ")")) (goto_statement "goto LAB_0009d56d;" (goto "goto") (statement_identifier "LAB_0009d56d") (; ";"))) (if_statement "if (2 < local_b8 - 0x52) {\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }" (if "if") (parenthesized_expression "(2 < local_b8 - 0x52)" (( "(") (binary_expression "2 < local_b8 - 0x52" (number_literal "2") (< "<") (binary_expression "local_b8 - 0x52" (identifier "local_b8") (- "-") (number_literal "0x52"))) () ")")) (compound_statement "{\n                    local_b0 = &local_4c;\n                    goto LAB_0009d200;\n                  }" ({ "{") (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (goto_statement "goto LAB_0009d200;" (goto "goto") (statement_identifier "LAB_0009d200") (; ";")) (} "}"))) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (labeled_statement "LAB_0009ddfa:\n                  *(uint *)(puVar22 + -8) = local_ac;" (statement_identifier "LAB_0009ddfa") (: ":") (expression_statement "*(uint *)(puVar22 + -8) = local_ac;" (assignment_expression "*(uint *)(puVar22 + -8) = local_ac" (pointer_expression "*(uint *)(puVar22 + -8)" (* "*") (cast_expression "(uint *)(puVar22 + -8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_ac")) (; ";"))) (expression_statement "*(int **)(puVar22 + -0xc) = local_a4;" (assignment_expression "*(int **)(puVar22 + -0xc) = local_a4" (pointer_expression "*(int **)(puVar22 + -0xc)" (* "*") (cast_expression "(int **)(puVar22 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_a4")) (; ";")) (expression_statement "*(byte ***)(puVar22 + -0x10) = local_9c;" (assignment_expression "*(byte ***)(puVar22 + -0x10) = local_9c" (pointer_expression "*(byte ***)(puVar22 + -0x10)" (* "*") (cast_expression "(byte ***)(puVar22 + -0x10)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_9c")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9de14;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9de14" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9de14")) (; ";")) (expression_statement "uVar15 = FUN_000a90f0();" (assignment_expression "uVar15 = FUN_000a90f0()" (identifier "uVar15") (= "=") (call_expression "FUN_000a90f0()" (identifier "FUN_000a90f0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }" (if "if") (parenthesized_expression "((*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0))" (( "(") (binary_expression "(*(int *)(param_1 + 0x14) != 0) &&\n                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)" (parenthesized_expression "(*(int *)(param_1 + 0x14) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x14) != 0" (pointer_expression "*(int *)(param_1 + 0x14)" (* "*") (cast_expression "(int *)(param_1 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1" (pointer_expression "*(byte *)(*(int *)(param_1 + 0x14) + 0x1c)" (* "*") (cast_expression "(byte *)(*(int *)(param_1 + 0x14) + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x14) + 0x1c)" (( "(") (binary_expression "*(int *)(param_1 + 0x14) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x14)" (* "*") (cast_expression "(int *)(param_1 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                    *(undefined4 *)(puVar22 + -4) = uVar15;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;\n                    FUN_002446e0();\n                  }" ({ "{") (expression_statement "*(undefined4 *)(puVar22 + -4) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -4)" (( "(") (binary_expression "puVar22 + -4" (identifier "puVar22") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eef" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x64eef" (identifier "local_94") (+ "+") (number_literal "-0x64eef"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc5")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x19cca3" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19cca3"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f40c;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f40c" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f40c")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else {\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }" (else "else") (compound_statement "{\n                uVar9 = local_78[1];\n                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                *(uint *)(puVar22 + -0xc) = local_ac;\n                *(int **)(puVar22 + -0x10) = local_a4;\n                local_b0 = &local_4c;\n                    \n                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;\n                cVar7 = FUN_00290e20();\n                if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }\n                local_b0 = &local_4c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }\nLAB_0009d5e0:\n                local_b0 = &local_4c;\n              }" ({ "{") (expression_statement "uVar9 = local_78[1];" (assignment_expression "uVar9 = local_78[1]" (identifier "uVar9") (= "=") (subscript_expression "local_78[1]" (identifier "local_78") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;" (assignment_expression "local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8" (identifier "local_ac") (= "=") (binary_expression "((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8" (parenthesized_expression "((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18)" (( "(") (binary_expression "(uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "(uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8")) (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar9 << 0x18" (identifier "uVar9") (<< "<<") (number_literal "0x18"))) () ")")) (>> ">>") (number_literal "8"))) (; ";")) (expression_statement "*(uint *)(puVar22 + -0xc) = local_ac;" (assignment_expression "*(uint *)(puVar22 + -0xc) = local_ac" (pointer_expression "*(uint *)(puVar22 + -0xc)" (* "*") (cast_expression "(uint *)(puVar22 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_ac")) (; ";")) (expression_statement "*(int **)(puVar22 + -0x10) = local_a4;" (assignment_expression "*(int **)(puVar22 + -0x10) = local_a4" (pointer_expression "*(int **)(puVar22 + -0x10)" (* "*") (cast_expression "(int **)(puVar22 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_a4")) (; ";")) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9dda9;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9dda9" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9dda9")) (; ";")) (expression_statement "cVar7 = FUN_00290e20();" (assignment_expression "cVar7 = FUN_00290e20()" (identifier "cVar7") (= "=") (call_expression "FUN_00290e20()" (identifier "FUN_00290e20") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar7 != '\0') {\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }" (if "if") (parenthesized_expression "(cVar7 != '\0')" (( "(") (binary_expression "cVar7 != '\0'" (identifier "cVar7") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  iVar11 = *(int *)(param_1 + 0x18);\n                  if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }\n                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }\n                  iVar5 = *(int *)(iVar11 + 0x34);\n                  local_b0 = &local_4c;\n                  iVar11 = *(int *)(iVar11 + 4);\n                  iVar12 = *local_a4;\n                  *(uint *)(puVar22 + -0xc) = local_ac;\n                  *(int **)(puVar22 + -0x10) = local_a4;\n                  pcVar1 = *(code **)(iVar12 + 0xa8);\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;\n                  iVar12 = (*pcVar1)();\n                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);\n                  local_9c = &local_4c;\n                }" ({ "{") (expression_statement "iVar11 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar11 = *(int *)(param_1 + 0x18)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (iVar11 == 0) {\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    local_b0 = &local_4c;\n                    \n                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;\n                    FUN_00095ef0();\n                    ppuVar17 = extraout_ECX_00;\n                    goto LAB_0009f3a6;\n                  }" ({ "{") (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -4) = 0x9f3a6;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = 0x9f3a6" (pointer_expression "*(undefined4 *)(puVar22 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -4)" (( "(") (binary_expression "puVar22 + -4" (identifier "puVar22") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x9f3a6")) (; ";")) (expression_statement "FUN_00095ef0();" (call_expression "FUN_00095ef0()" (identifier "FUN_00095ef0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppuVar17 = extraout_ECX_00;" (assignment_expression "ppuVar17 = extraout_ECX_00" (identifier "ppuVar17") (= "=") (identifier "extraout_ECX_00")) (; ";")) (goto_statement "goto LAB_0009f3a6;" (goto "goto") (statement_identifier "LAB_0009f3a6") (; ";")) (} "}"))) (if_statement "if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }" (if "if") (parenthesized_expression "((*(byte *)(iVar11 + 0x1c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(iVar11 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar11 + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(iVar11 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar11 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar11 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1c)" (( "(") (binary_expression "iVar11 + 0x1c" (identifier "iVar11") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                    local_b0 = &local_4c;\n                    \n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;\n                    FUN_002446e0();\n                  }" ({ "{") (expression_statement "*(undefined4 *)(puVar22 + -4) = extraout_ECX;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = extraout_ECX" (pointer_expression "*(undefined4 *)(puVar22 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -4)" (( "(") (binary_expression "puVar22 + -4" (identifier "puVar22") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "extraout_ECX")) (; ";")) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eef" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x64eef" (identifier "local_94") (+ "+") (number_literal "-0x64eef"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc5")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x19cca3" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19cca3"))) (; ";")) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f3ed" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f3ed")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar5 = *(int *)(iVar11 + 0x34);" (assignment_expression "iVar5 = *(int *)(iVar11 + 0x34)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(iVar11 + 0x34)" (* "*") (cast_expression "(int *)(iVar11 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x34)" (( "(") (binary_expression "iVar11 + 0x34" (identifier "iVar11") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (expression_statement "iVar11 = *(int *)(iVar11 + 4);" (assignment_expression "iVar11 = *(int *)(iVar11 + 4)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(iVar11 + 4)" (* "*") (cast_expression "(int *)(iVar11 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 4)" (( "(") (binary_expression "iVar11 + 4" (identifier "iVar11") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar12 = *local_a4;" (assignment_expression "iVar12 = *local_a4" (identifier "iVar12") (= "=") (pointer_expression "*local_a4" (* "*") (identifier "local_a4"))) (; ";")) (expression_statement "*(uint *)(puVar22 + -0xc) = local_ac;" (assignment_expression "*(uint *)(puVar22 + -0xc) = local_ac" (pointer_expression "*(uint *)(puVar22 + -0xc)" (* "*") (cast_expression "(uint *)(puVar22 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_ac")) (; ";")) (expression_statement "*(int **)(puVar22 + -0x10) = local_a4;" (assignment_expression "*(int **)(puVar22 + -0x10) = local_a4" (pointer_expression "*(int **)(puVar22 + -0x10)" (* "*") (cast_expression "(int **)(puVar22 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_a4")) (; ";")) (expression_statement "pcVar1 = *(code **)(iVar12 + 0xa8);" (assignment_expression "pcVar1 = *(code **)(iVar12 + 0xa8)" (identifier "pcVar1") (= "=") (pointer_expression "*(code **)(iVar12 + 0xa8)" (* "*") (cast_expression "(code **)(iVar12 + 0xa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar12 + 0xa8)" (( "(") (binary_expression "iVar12 + 0xa8" (identifier "iVar12") (+ "+") (number_literal "0xa8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9de86;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9de86" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9de86")) (; ";")) (expression_statement "iVar12 = (*pcVar1)();" (assignment_expression "iVar12 = (*pcVar1)()" (identifier "iVar12") (= "=") (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" (( "(") (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);" (assignment_expression "local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12)" (identifier "local_40") (= "=") (cast_expression "(undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12)" (( "(") (binary_expression "(iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12" (binary_expression "(iVar5 * 3 + 0xc) * 4 + iVar11" (binary_expression "(iVar5 * 3 + 0xc) * 4" (parenthesized_expression "(iVar5 * 3 + 0xc)" (( "(") (binary_expression "iVar5 * 3 + 0xc" (binary_expression "iVar5 * 3" (identifier "iVar5") (* "*") (number_literal "3")) (+ "+") (number_literal "0xc")) () ")")) (* "*") (number_literal "4")) (+ "+") (identifier "iVar11")) (+ "+") (identifier "iVar12")) () ")")))) (; ";")) (expression_statement "local_9c = &local_4c;" (assignment_expression "local_9c = &local_4c" (identifier "local_9c") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (} "}"))) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (expression_statement "uVar9 = local_78[2];" (assignment_expression "uVar9 = local_78[2]" (identifier "uVar9") (= "=") (subscript_expression "local_78[2]" (identifier "local_78") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;" (assignment_expression "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" (identifier "local_ac") (= "=") (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar9 << 0x18" (identifier "uVar9") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_a8 = (int)local_ac >> 0x1f;" (assignment_expression "local_a8 = (int)local_ac >> 0x1f" (identifier "local_a8") (= "=") (binary_expression "(int)local_ac >> 0x1f" (cast_expression "(int)local_ac" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_ac")) (>> ">>") (number_literal "0x1f"))) (; ";")) (if_statement "if (0xc < local_b8) {\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }" (if "if") (parenthesized_expression "(0xc < local_b8)" (( "(") (binary_expression "0xc < local_b8" (number_literal "0xc") (< "<") (identifier "local_b8")) () ")")) (compound_statement "{\n                  if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }\n                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;\n                }" ({ "{") (if_statement "if (local_b8 < 0x10) {\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }" (if "if") (parenthesized_expression "(local_b8 < 0x10)" (( "(") (binary_expression "local_b8 < 0x10" (identifier "local_b8") (< "<") (number_literal "0x10")) () ")")) (compound_statement "{\nLAB_0009d56d:\n                    local_b0 = &local_4c;\n                    uVar9 = local_78[1];\n                    iVar11 = *local_a4;\n                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xac);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;\n                    cVar7 = (*pcVar1)();\n                    if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }\n                    iVar11 = *local_a4;\n                    *(undefined4 *)(puVar22 + -0x10) = 0;\n                    *(undefined4 *)(puVar22 + -0x14) = 0;\n                    *(undefined4 *)(puVar22 + -0x18) = 0;\n                    *(uint *)(puVar22 + -0x1c) = uVar9;\n                    *(int **)(puVar22 + -0x20) = local_a4;\n                    pcVar1 = *(code **)(iVar11 + 0xb0);\n                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;\n                    (*pcVar1)();\n                    goto LAB_0009d200;\n                  }" ({ "{") (labeled_statement "LAB_0009d56d:\n                    local_b0 = &local_4c;" (statement_identifier "LAB_0009d56d") (: ":") (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";"))) (expression_statement "uVar9 = local_78[1];" (assignment_expression "uVar9 = local_78[1]" (identifier "uVar9") (= "=") (subscript_expression "local_78[1]" (identifier "local_78") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar11 = *local_a4;" (assignment_expression "iVar11 = *local_a4" (identifier "iVar11") (= "=") (pointer_expression "*local_a4" (* "*") (identifier "local_a4"))) (; ";")) (expression_statement "uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;" (assignment_expression "uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8" (identifier "uVar9") (= "=") (binary_expression "((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8" (parenthesized_expression "((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18)" (( "(") (binary_expression "(uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "(uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8")) (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar9 << 0x18" (identifier "uVar9") (<< "<<") (number_literal "0x18"))) () ")")) (>> ">>") (number_literal "8"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x18)" (( "(") (binary_expression "puVar22 + -0x18" (identifier "puVar22") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)(puVar22 + -0x1c) = uVar9;" (assignment_expression "*(uint *)(puVar22 + -0x1c) = uVar9" (pointer_expression "*(uint *)(puVar22 + -0x1c)" (* "*") (cast_expression "(uint *)(puVar22 + -0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x1c)" (( "(") (binary_expression "puVar22 + -0x1c" (identifier "puVar22") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(int **)(puVar22 + -0x20) = local_a4;" (assignment_expression "*(int **)(puVar22 + -0x20) = local_a4" (pointer_expression "*(int **)(puVar22 + -0x20)" (* "*") (cast_expression "(int **)(puVar22 + -0x20)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x20)" (( "(") (binary_expression "puVar22 + -0x20" (identifier "puVar22") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_a4")) (; ";")) (expression_statement "pcVar1 = *(code **)(iVar11 + 0xac);" (assignment_expression "pcVar1 = *(code **)(iVar11 + 0xac)" (identifier "pcVar1") (= "=") (pointer_expression "*(code **)(iVar11 + 0xac)" (* "*") (cast_expression "(code **)(iVar11 + 0xac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0xac)" (( "(") (binary_expression "iVar11 + 0xac" (identifier "iVar11") (+ "+") (number_literal "0xac")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9d58e;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9d58e" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x24)" (( "(") (binary_expression "puVar22 + -0x24" (identifier "puVar22") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x9d58e")) (; ";")) (expression_statement "cVar7 = (*pcVar1)();" (assignment_expression "cVar7 = (*pcVar1)()" (identifier "cVar7") (= "=") (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" (( "(") (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar7 == '\0') {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }" (if "if") (parenthesized_expression "(cVar7 == '\0')" (( "(") (binary_expression "cVar7 == '\0'" (identifier "cVar7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;\n                      FUN_002446e0();\n                    }" ({ "{") (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e7" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x650e7" (identifier "local_94") (+ "+") (number_literal "-0x650e7"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0xd2c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0xd2c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xd2c")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x196252" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x196252"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f357;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f357" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f357")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar11 = *local_a4;" (assignment_expression "iVar11 = *local_a4" (identifier "iVar11") (= "=") (pointer_expression "*local_a4" (* "*") (identifier "local_a4"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x18)" (( "(") (binary_expression "puVar22 + -0x18" (identifier "puVar22") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)(puVar22 + -0x1c) = uVar9;" (assignment_expression "*(uint *)(puVar22 + -0x1c) = uVar9" (pointer_expression "*(uint *)(puVar22 + -0x1c)" (* "*") (cast_expression "(uint *)(puVar22 + -0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x1c)" (( "(") (binary_expression "puVar22 + -0x1c" (identifier "puVar22") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(int **)(puVar22 + -0x20) = local_a4;" (assignment_expression "*(int **)(puVar22 + -0x20) = local_a4" (pointer_expression "*(int **)(puVar22 + -0x20)" (* "*") (cast_expression "(int **)(puVar22 + -0x20)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x20)" (( "(") (binary_expression "puVar22 + -0x20" (identifier "puVar22") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_a4")) (; ";")) (expression_statement "pcVar1 = *(code **)(iVar11 + 0xb0);" (assignment_expression "pcVar1 = *(code **)(iVar11 + 0xb0)" (identifier "pcVar1") (= "=") (pointer_expression "*(code **)(iVar11 + 0xb0)" (* "*") (cast_expression "(code **)(iVar11 + 0xb0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0xb0)" (( "(") (binary_expression "iVar11 + 0xb0" (identifier "iVar11") (+ "+") (number_literal "0xb0")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9d5b2" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x24)" (( "(") (binary_expression "puVar22 + -0x24" (identifier "puVar22") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x9d5b2")) (; ";")) (expression_statement "(*pcVar1)();" (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" (( "(") (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0009d200;" (goto "goto") (statement_identifier "LAB_0009d200") (; ";")) (} "}"))) (if_statement "if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;" (if "if") (parenthesized_expression "(local_b8 - 0x52 < 3)" (( "(") (binary_expression "local_b8 - 0x52 < 3" (binary_expression "local_b8 - 0x52" (identifier "local_b8") (- "-") (number_literal "0x52")) (< "<") (number_literal "3")) () ")")) (goto_statement "goto LAB_0009ddfa;" (goto "goto") (statement_identifier "LAB_0009ddfa") (; ";"))) (} "}"))) (labeled_statement "LAB_0009d5e0:\n                local_b0 = &local_4c;" (statement_identifier "LAB_0009d5e0") (: ":") (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";"))) (} "}")))) (} "}")) (else_clause "else {\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }" (else "else") (compound_statement "{\n              uVar9 = 0;\n              if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }\n              if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }\n            }" ({ "{") (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_b8 - 1 < 0x58) {\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }" (if "if") (parenthesized_expression "(local_b8 - 1 < 0x58)" (( "(") (binary_expression "local_b8 - 1 < 0x58" (binary_expression "local_b8 - 1" (identifier "local_b8") (- "-") (number_literal "1")) (< "<") (number_literal "0x58")) () ")")) (compound_statement "{\n                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));\n              }" ({ "{") (expression_statement "uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));" (assignment_expression "uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561))" (identifier "uVar9") (= "=") (binary_expression "(uint)*(char *)((int)local_94 + (local_b8 - 0x194561))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(char *)((int)local_94 + (local_b8 - 0x194561))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + (local_b8 - 0x194561))" (( "(") (binary_expression "(int)local_94 + (local_b8 - 0x194561)" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (parenthesized_expression "(local_b8 - 0x194561)" (( "(") (binary_expression "local_b8 - 0x194561" (identifier "local_b8") (- "-") (number_literal "0x194561")) () ")"))) () ")"))))) (; ";")) (} "}"))) (if_statement "if (local_90[6] == (undefined *)0xffffffff) {\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }\n              else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }" (if "if") (parenthesized_expression "(local_90[6] == (undefined *)0xffffffff)" (( "(") (binary_expression "local_90[6] == (undefined *)0xffffffff" (subscript_expression "local_90[6]" (identifier "local_90") ([ "[") (number_literal "6") (] "]")) (== "==") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\nLAB_0009d17c:\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }\n                local_b0 = &local_4c;\n              }" ({ "{") (labeled_statement "LAB_0009d17c:\n                uVar9 = local_78[2];" (statement_identifier "LAB_0009d17c") (: ":") (expression_statement "uVar9 = local_78[2];" (assignment_expression "uVar9 = local_78[2]" (identifier "uVar9") (= "=") (subscript_expression "local_78[2]" (identifier "local_78") ([ "[") (number_literal "2") (] "]"))) (; ";"))) (expression_statement "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;" (assignment_expression "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" (identifier "local_ac") (= "=") (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar9 << 0x18" (identifier "uVar9") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_a8 = (int)local_ac >> 0x1f;" (assignment_expression "local_a8 = (int)local_ac >> 0x1f" (identifier "local_a8") (= "=") (binary_expression "(int)local_ac >> 0x1f" (cast_expression "(int)local_ac" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_ac")) (>> ">>") (number_literal "0x1f"))) (; ";")) (if_statement "if (0xc < local_b8) {\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }" (if "if") (parenthesized_expression "(0xc < local_b8)" (( "(") (binary_expression "0xc < local_b8" (number_literal "0xc") (< "<") (identifier "local_b8")) () ")")) (compound_statement "{\n                  if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }\n                  local_b0 = &local_4c;\n                  goto LAB_0009cfd0;\n                }" ({ "{") (if_statement "if (0xf < local_b8) {\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }" (if "if") (parenthesized_expression "(0xf < local_b8)" (( "(") (binary_expression "0xf < local_b8" (number_literal "0xf") (< "<") (identifier "local_b8")) () ")")) (compound_statement "{\n                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;\n                    local_b0 = &local_4c;\n                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;\n                    goto LAB_0009ddfa;\n                  }" ({ "{") (if_statement "if (2 < local_b8 - 0x52) goto LAB_0009d1f2;" (if "if") (parenthesized_expression "(2 < local_b8 - 0x52)" (( "(") (binary_expression "2 < local_b8 - 0x52" (number_literal "2") (< "<") (binary_expression "local_b8 - 0x52" (identifier "local_b8") (- "-") (number_literal "0x52"))) () ")")) (goto_statement "goto LAB_0009d1f2;" (goto "goto") (statement_identifier "LAB_0009d1f2") (; ";"))) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (if_statement "if (local_90 != (undefined **)0x0) goto LAB_0009cf73;" (if "if") (parenthesized_expression "(local_90 != (undefined **)0x0)" (( "(") (binary_expression "local_90 != (undefined **)0x0" (identifier "local_90") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0009cf73;" (goto "goto") (statement_identifier "LAB_0009cf73") (; ";"))) (goto_statement "goto LAB_0009ddfa;" (goto "goto") (statement_identifier "LAB_0009ddfa") (; ";")) (} "}"))) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (goto_statement "goto LAB_0009cfd0;" (goto "goto") (statement_identifier "LAB_0009cfd0") (; ";")) (} "}"))) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (} "}")) (else_clause "else {\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }" (else "else") (compound_statement "{\n                cVar19 = *(code *)(local_90 + 10);\n                local_ac._0_1_ = cVar19;\n                if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }\n                iVar11 = *(int *)(param_1 + 0x18);\n                if (iVar11 == 0) goto LAB_0009d100;\nLAB_0009d0aa:\n                local_b0 = &local_4c;\n                *(undefined4 *)(puVar22 + -0xc) = 0;\n                *(undefined ***)(puVar22 + -0x10) = local_90;\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;\n                cVar7 = FUN_00071de0();\n                local_9c = (byte **)0x0;\n                local_98 = 0;\n                if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }\nLAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }\n                if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }\n                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;\n                uVar9 = local_78[2];\n                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;\n                local_a8 = (int)local_ac >> 0x1f;\n                if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }\n                if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }\nLAB_0009cfd0:\n                ppuVar17 = local_90 + 7;\n                ppuVar20 = ppuVar17;\n                while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }\n                if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }\n                while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }\n                if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }\n              }" ({ "{") (expression_statement "cVar19 = *(code *)(local_90 + 10);" (assignment_expression "cVar19 = *(code *)(local_90 + 10)" (identifier "cVar19") (= "=") (pointer_expression "*(code *)(local_90 + 10)" (* "*") (cast_expression "(code *)(local_90 + 10)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_90 + 10)" (( "(") (binary_expression "local_90 + 10" (identifier "local_90") (+ "+") (number_literal "10")) () ")"))))) (; ";")) (expression_statement "local_ac._0_1_ = cVar19;" (assignment_expression "local_ac._0_1_ = cVar19" (field_expression "local_ac._0_1_" (identifier "local_ac") (. ".") (field_identifier "_0_1_")) (= "=") (identifier "cVar19")) (; ";")) (if_statement "if (((byte)cVar19 & 0xf) != 10) {\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }" (if "if") (parenthesized_expression "(((byte)cVar19 & 0xf) != 10)" (( "(") (binary_expression "((byte)cVar19 & 0xf) != 10" (parenthesized_expression "((byte)cVar19 & 0xf)" (( "(") (binary_expression "(byte)cVar19 & 0xf" (cast_expression "(byte)cVar19" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar19")) (& "&") (number_literal "0xf")) () ")")) (!= "!=") (number_literal "10")) () ")")) (compound_statement "{\n                  local_b0 = &local_4c;\n                  *(uint *)(puVar22 + -0xc) = uVar9;\n                  *(undefined ***)(puVar22 + -0x10) = local_90;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;\n                  cVar7 = FUN_00071bb0();\n                  if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }\n                  goto LAB_0009d17c;\n                }" ({ "{") (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (expression_statement "*(uint *)(puVar22 + -0xc) = uVar9;" (assignment_expression "*(uint *)(puVar22 + -0xc) = uVar9" (pointer_expression "*(uint *)(puVar22 + -0xc)" (* "*") (cast_expression "(uint *)(puVar22 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_90")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9ce95;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9ce95" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9ce95")) (; ";")) (expression_statement "cVar7 = FUN_00071bb0();" (assignment_expression "cVar7 = FUN_00071bb0()" (identifier "cVar7") (= "=") (call_expression "FUN_00071bb0()" (identifier "FUN_00071bb0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar7 == '\0') {\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }" (if "if") (parenthesized_expression "(cVar7 == '\0')" (( "(") (binary_expression "cVar7 == '\0'" (identifier "cVar7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);\n                    bVar18 = (byte)local_ac._0_1_ & 7;\n                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;\n                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;\nLAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);\n                    if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }\nLAB_0009d100:\n                    local_b0 = &local_4c;\n                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;\n                    bVar18 = FUN_00095ef0();\nLAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }\n                    uVar9 = uVar9 & 8;\n                    if (uVar9 == 0) goto LAB_0009d17c;\n                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;\n                    local_ac._0_1_ = *(code *)(local_90 + 10);\n                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;\n                    if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;\n                  }" ({ "{") (expression_statement "local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);" (assignment_expression "local_ac._0_1_ = *(code *)((int)local_90 + 0x2a)" (field_expression "local_ac._0_1_" (identifier "local_ac") (. ".") (field_identifier "_0_1_")) (= "=") (pointer_expression "*(code *)((int)local_90 + 0x2a)" (* "*") (cast_expression "(code *)((int)local_90 + 0x2a)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2a)" (( "(") (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2a")) () ")"))))) (; ";")) (expression_statement "bVar18 = (byte)local_ac._0_1_ & 7;" (assignment_expression "bVar18 = (byte)local_ac._0_1_ & 7" (identifier "bVar18") (= "=") (binary_expression "(byte)local_ac._0_1_ & 7" (cast_expression "(byte)local_ac._0_1_" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (field_expression "local_ac._0_1_" (identifier "local_ac") (. ".") (field_identifier "_0_1_"))) (& "&") (number_literal "7"))) (; ";")) (if_statement "if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;" (if "if") (parenthesized_expression "(((byte)local_ac._0_1_ & 7) != 0)" (( "(") (binary_expression "((byte)local_ac._0_1_ & 7) != 0" (parenthesized_expression "((byte)local_ac._0_1_ & 7)" (( "(") (binary_expression "(byte)local_ac._0_1_ & 7" (cast_expression "(byte)local_ac._0_1_" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (field_expression "local_ac._0_1_" (identifier "local_ac") (. ".") (field_identifier "_0_1_"))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009d110;" (goto "goto") (statement_identifier "LAB_0009d110") (; ";"))) (if_statement "if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;" (if "if") (parenthesized_expression "((local_90[2][0x2c] & 1) == 0)" (( "(") (binary_expression "(local_90[2][0x2c] & 1) == 0" (parenthesized_expression "(local_90[2][0x2c] & 1)" (( "(") (binary_expression "local_90[2][0x2c] & 1" (subscript_expression "local_90[2][0x2c]" (subscript_expression "local_90[2]" (identifier "local_90") ([ "[") (number_literal "2") (] "]")) ([ "[") (number_literal "0x2c") (] "]")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009d110;" (goto "goto") (statement_identifier "LAB_0009d110") (; ";"))) (labeled_statement "LAB_0009cec6:\n                    iVar11 = *(int *)(param_1 + 0x18);" (statement_identifier "LAB_0009cec6") (: ":") (expression_statement "iVar11 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar11 = *(int *)(param_1 + 0x18)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";"))) (if_statement "if (iVar11 != 0) {\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }" (if "if") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;\n                      local_9c = (byte **)0x0;\n                      local_98 = 0;\n                      goto LAB_0009cefd;\n                    }" ({ "{") (if_statement "if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;" (if "if") (parenthesized_expression "(((uint)local_90[10] & 0xf) == 10)" (( "(") (binary_expression "((uint)local_90[10] & 0xf) == 10" (parenthesized_expression "((uint)local_90[10] & 0xf)" (( "(") (binary_expression "(uint)local_90[10] & 0xf" (cast_expression "(uint)local_90[10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_90[10]" (identifier "local_90") ([ "[") (number_literal "10") (] "]"))) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "10")) () ")")) (goto_statement "goto LAB_0009d0aa;" (goto "goto") (statement_identifier "LAB_0009d0aa") (; ";"))) (expression_statement "local_9c = (byte **)0x0;" (assignment_expression "local_9c = (byte **)0x0" (identifier "local_9c") (= "=") (cast_expression "(byte **)0x0" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0009cefd;" (goto "goto") (statement_identifier "LAB_0009cefd") (; ";")) (} "}"))) (labeled_statement "LAB_0009d100:\n                    local_b0 = &local_4c;" (statement_identifier "LAB_0009d100") (: ":") (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar22 + -4) = 0x9d10e;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = 0x9d10e" (pointer_expression "*(undefined4 *)(puVar22 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -4)" (( "(") (binary_expression "puVar22 + -4" (identifier "puVar22") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x9d10e")) (; ";")) (expression_statement "bVar18 = FUN_00095ef0();" (assignment_expression "bVar18 = FUN_00095ef0()" (identifier "bVar18") (= "=") (call_expression "FUN_00095ef0()" (identifier "FUN_00095ef0") (argument_list "()" (( "(") () ")")))) (; ";")) (labeled_statement "LAB_0009d110:\n                    ppuVar17 = local_94 + 0x1f2;" (statement_identifier "LAB_0009d110") (: ":") (expression_statement "ppuVar17 = local_94 + 0x1f2;" (assignment_expression "ppuVar17 = local_94 + 0x1f2" (identifier "ppuVar17") (= "=") (binary_expression "local_94 + 0x1f2" (identifier "local_94") (+ "+") (number_literal "0x1f2"))) (; ";"))) (if_statement "if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }" (if "if") (parenthesized_expression "(*(int *)(*ppuVar17 + 8) == 0)" (( "(") (binary_expression "*(int *)(*ppuVar17 + 8) == 0" (pointer_expression "*(int *)(*ppuVar17 + 8)" (* "*") (cast_expression "(int *)(*ppuVar17 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*ppuVar17 + 8)" (( "(") (binary_expression "*ppuVar17 + 8" (pointer_expression "*ppuVar17" (* "*") (identifier "ppuVar17")) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;\n                      FUN_002446e0();\n                    }" ({ "{") (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x64ebf" (identifier "local_94") (+ "+") (number_literal "-0x64ebf"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x1a1d93"))) (; ";")) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f37a;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f37a" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f37a")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0'" (pointer_expression "*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25)" (* "*") (cast_expression "(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*ppuVar17 + 8) + 0x1a25)" (( "(") (binary_expression "*(int *)(*ppuVar17 + 8) + 0x1a25" (pointer_expression "*(int *)(*ppuVar17 + 8)" (* "*") (cast_expression "(int *)(*ppuVar17 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*ppuVar17 + 8)" (( "(") (binary_expression "*ppuVar17 + 8" (pointer_expression "*ppuVar17" (* "*") (identifier "ppuVar17")) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x1a25")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                      if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;\n                      *(undefined ***)(puVar22 + -0x10) = local_90;\n                      local_b0 = &local_4c;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;\n                      cVar7 = FUN_00071a80();\n                      if (cVar7 != '\0') goto LAB_0009cec6;\n                    }" ({ "{") (if_statement "if (bVar18 == 0) {\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }\n                      else if (bVar18 == 4) goto LAB_0009cec6;" (if "if") (parenthesized_expression "(bVar18 == 0)" (( "(") (binary_expression "bVar18 == 0" (identifier "bVar18") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                        if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;\n                      }" ({ "{") (if_statement "if ((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;" (if "if") (parenthesized_expression "((local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0))" (( "(") (binary_expression "(local_90[3] == (undefined *)0x0) &&\n                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)" (parenthesized_expression "(local_90[3] == (undefined *)0x0)" (( "(") (binary_expression "local_90[3] == (undefined *)0x0" (subscript_expression "local_90[3]" (identifier "local_90") ([ "[") (number_literal "3") (] "]")) (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)" (( "(") (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20)" (( "(") (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 0x20" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)((int)local_90 + 0x2b)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2b)" (( "(") (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0009cec6;" (goto "goto") (statement_identifier "LAB_0009cec6") (; ";"))) (} "}")) (else_clause "else if (bVar18 == 4) goto LAB_0009cec6;" (else "else") (if_statement "if (bVar18 == 4) goto LAB_0009cec6;" (if "if") (parenthesized_expression "(bVar18 == 4)" (( "(") (binary_expression "bVar18 == 4" (identifier "bVar18") (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_0009cec6;" (goto "goto") (statement_identifier "LAB_0009cec6") (; ";"))))) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_90")) (; ";")) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d168;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d168" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9d168")) (; ";")) (expression_statement "cVar7 = FUN_00071a80();" (assignment_expression "cVar7 = FUN_00071a80()" (identifier "cVar7") (= "=") (call_expression "FUN_00071a80()" (identifier "FUN_00071a80") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar7 != '\0') goto LAB_0009cec6;" (if "if") (parenthesized_expression "(cVar7 != '\0')" (( "(") (binary_expression "cVar7 != '\0'" (identifier "cVar7") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0009cec6;" (goto "goto") (statement_identifier "LAB_0009cec6") (; ";"))) (} "}"))) (expression_statement "uVar9 = uVar9 & 8;" (assignment_expression "uVar9 = uVar9 & 8" (identifier "uVar9") (= "=") (binary_expression "uVar9 & 8" (identifier "uVar9") (& "&") (number_literal "8"))) (; ";")) (if_statement "if (uVar9 == 0) goto LAB_0009d17c;" (if "if") (parenthesized_expression "(uVar9 == 0)" (( "(") (binary_expression "uVar9 == 0" (identifier "uVar9") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009d17c;" (goto "goto") (statement_identifier "LAB_0009d17c") (; ";"))) (if_statement "if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }\n                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;" (if "if") (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0)" (( "(") (binary_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7)" (( "(") (binary_expression "(byte)*(code *)((int)local_90 + 0x2a) & 7" (binary_expression "(byte)*(code *)((int)local_90 + 0x2a)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)((int)local_90 + 0x2a)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2a)" (( "(") (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;\n                      uVar9 = 0;\n                    }" ({ "{") (if_statement "if ((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;" (if "if") (parenthesized_expression "((local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0))" (( "(") (binary_expression "(local_90[3] != (undefined *)0x0) ||\n                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" (parenthesized_expression "(local_90[3] != (undefined *)0x0)" (( "(") (binary_expression "local_90[3] != (undefined *)0x0" (subscript_expression "local_90[3]" (identifier "local_90") ([ "[") (number_literal "3") (] "]")) (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" (( "(") (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20)" (( "(") (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 0x20" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)((int)local_90 + 0x2b)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2b)" (( "(") (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0009d17c;" (goto "goto") (statement_identifier "LAB_0009d17c") (; ";"))) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;" (else "else") (if_statement "if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;" (if "if") (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4)" (( "(") (binary_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7)" (( "(") (binary_expression "(byte)*(code *)((int)local_90 + 0x2a) & 7" (binary_expression "(byte)*(code *)((int)local_90 + 0x2a)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)((int)local_90 + 0x2a)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2a)" (( "(") (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "4")) () ")")) (goto_statement "goto LAB_0009d17c;" (goto "goto") (statement_identifier "LAB_0009d17c") (; ";"))))) (expression_statement "local_ac._0_1_ = *(code *)(local_90 + 10);" (assignment_expression "local_ac._0_1_ = *(code *)(local_90 + 10)" (field_expression "local_ac._0_1_" (identifier "local_ac") (. ".") (field_identifier "_0_1_")) (= "=") (pointer_expression "*(code *)(local_90 + 10)" (* "*") (cast_expression "(code *)(local_90 + 10)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_90 + 10)" (( "(") (binary_expression "local_90 + 10" (identifier "local_90") (+ "+") (number_literal "10")) () ")"))))) (; ";")) (if_statement "if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                    goto LAB_0009cec6;" (if "if") (parenthesized_expression "(((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))" (( "(") (binary_expression "((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0)" (parenthesized_expression "((byte)local_ac._0_1_ >> 4 == 2)" (( "(") (binary_expression "(byte)local_ac._0_1_ >> 4 == 2" (binary_expression "(byte)local_ac._0_1_ >> 4" (cast_expression "(byte)local_ac._0_1_" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (field_expression "local_ac._0_1_" (identifier "local_ac") (. ".") (field_identifier "_0_1_"))) (>> ">>") (number_literal "4")) (== "==") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(((uint)local_90[0xb] & 2) != 0)" (( "(") (binary_expression "((uint)local_90[0xb] & 2) != 0" (parenthesized_expression "((uint)local_90[0xb] & 2)" (( "(") (binary_expression "(uint)local_90[0xb] & 2" (cast_expression "(uint)local_90[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_90[0xb]" (identifier "local_90") ([ "[") (number_literal "0xb") (] "]"))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0009cec6;" (goto "goto") (statement_identifier "LAB_0009cec6") (; ";"))) (if_statement "if (*(int *)(*ppuVar17 + 8) == 0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }" (if "if") (parenthesized_expression "(*(int *)(*ppuVar17 + 8) == 0)" (( "(") (binary_expression "*(int *)(*ppuVar17 + 8) == 0" (pointer_expression "*(int *)(*ppuVar17 + 8)" (* "*") (cast_expression "(int *)(*ppuVar17 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*ppuVar17 + 8)" (( "(") (binary_expression "*ppuVar17 + 8" (pointer_expression "*ppuVar17" (* "*") (identifier "ppuVar17")) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      *(undefined ***)(puVar22 + -4) = ppuVar17;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                      local_b0 = &local_4c;\n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;\n                      FUN_002446e0();\n                    }" ({ "{") (expression_statement "*(undefined ***)(puVar22 + -4) = ppuVar17;" (assignment_expression "*(undefined ***)(puVar22 + -4) = ppuVar17" (pointer_expression "*(undefined ***)(puVar22 + -4)" (* "*") (cast_expression "(undefined ***)(puVar22 + -4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -4)" (( "(") (binary_expression "puVar22 + -4" (identifier "puVar22") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "ppuVar17")) (; ";")) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x64ebf" (identifier "local_94") (+ "+") (number_literal "-0x64ebf"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x1a1d93"))) (; ";")) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (expression_statement "*(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;" (assignment_expression "*(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3" (pointer_expression "*(undefined **)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0009f4c3" (& "&") (identifier "UNK_0009f4c3"))) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;" (if "if") (parenthesized_expression "(*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0'" (pointer_expression "*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1)" (* "*") (cast_expression "(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*ppuVar17 + 8) + 0x49b1)" (( "(") (binary_expression "*(int *)(*ppuVar17 + 8) + 0x49b1" (pointer_expression "*(int *)(*ppuVar17 + 8)" (* "*") (cast_expression "(int *)(*ppuVar17 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*ppuVar17 + 8)" (( "(") (binary_expression "*ppuVar17 + 8" (pointer_expression "*ppuVar17" (* "*") (identifier "ppuVar17")) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x49b1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0009cec6;" (goto "goto") (statement_identifier "LAB_0009cec6") (; ";"))) (} "}"))) (goto_statement "goto LAB_0009d17c;" (goto "goto") (statement_identifier "LAB_0009d17c") (; ";")) (} "}"))) (expression_statement "iVar11 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar11 = *(int *)(param_1 + 0x18)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (iVar11 == 0) goto LAB_0009d100;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009d100;" (goto "goto") (statement_identifier "LAB_0009d100") (; ";"))) (labeled_statement "LAB_0009d0aa:\n                local_b0 = &local_4c;" (statement_identifier "LAB_0009d0aa") (: ":") (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_90")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d0c3" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9d0c3")) (; ";")) (expression_statement "cVar7 = FUN_00071de0();" (assignment_expression "cVar7 = FUN_00071de0()" (identifier "cVar7") (= "=") (call_expression "FUN_00071de0()" (identifier "FUN_00071de0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_9c = (byte **)0x0;" (assignment_expression "local_9c = (byte **)0x0" (identifier "local_9c") (= "=") (cast_expression "(byte **)0x0" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (if_statement "if (cVar7 != '\0') {\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }" (if "if") (parenthesized_expression "(cVar7 != '\0')" (( "(") (binary_expression "cVar7 != '\0'" (identifier "cVar7") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);\n                  local_98 = (int)local_9c >> 0x1f;\n                }" ({ "{") (expression_statement "local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);" (assignment_expression "local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4)" (identifier "local_9c") (= "=") (cast_expression "(byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4)" (( "(") (binary_expression "(*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4" (parenthesized_expression "(*(int *)(iVar11 + 0x34) * 3 + 0xc)" (( "(") (binary_expression "*(int *)(iVar11 + 0x34) * 3 + 0xc" (binary_expression "*(int *)(iVar11 + 0x34) * 3" (pointer_expression "*(int *)(iVar11 + 0x34)" (* "*") (cast_expression "(int *)(iVar11 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x34)" (( "(") (binary_expression "iVar11 + 0x34" (identifier "iVar11") (+ "+") (number_literal "0x34")) () ")")))) (* "*") (number_literal "3")) (+ "+") (number_literal "0xc")) () ")")) (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "local_98 = (int)local_9c >> 0x1f;" (assignment_expression "local_98 = (int)local_9c >> 0x1f" (identifier "local_98") (= "=") (binary_expression "(int)local_9c >> 0x1f" (cast_expression "(int)local_9c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_9c")) (>> ">>") (number_literal "0x1f"))) (; ";")) (} "}"))) (labeled_statement "LAB_0009cefd:\n                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }" (statement_identifier "LAB_0009cefd") (: ":") (if_statement "if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }" (if "if") (parenthesized_expression "((*(byte *)(iVar11 + 0x1c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(iVar11 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar11 + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(iVar11 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar11 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar11 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1c)" (( "(") (binary_expression "iVar11 + 0x1c" (identifier "iVar11") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;\n                  local_b0 = &local_4c;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;\n                  FUN_002446e0();\n                }" ({ "{") (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64eef" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x64eef" (identifier "local_94") (+ "+") (number_literal "-0x64eef"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc5")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x19cca3" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19cca3"))) (; ";")) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f2cd" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f2cd")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (if_statement "if (local_90[6] == (undefined *)0xffffffff) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }" (if "if") (parenthesized_expression "(local_90[6] == (undefined *)0xffffffff)" (( "(") (binary_expression "local_90[6] == (undefined *)0xffffffff" (subscript_expression "local_90[6]" (identifier "local_90") ([ "[") (number_literal "6") (] "]")) (== "==") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                  local_b0 = &local_4c;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;\n                  FUN_002446e0();\n                }" ({ "{") (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x64fb3" (identifier "local_94") (+ "+") (number_literal "-0x64fb3"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x1ce;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x1ce" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x1ce")) (; ";")) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_94 + -0x67308" (identifier "local_94") (+ "+") (number_literal "-0x67308"))) (; ";")) (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f2f7" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f2f7")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;" (assignment_expression "local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c" (identifier "local_40") (= "=") (binary_expression "local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c" (binary_expression "local_90[6] + *(int *)(iVar11 + 4)" (subscript_expression "local_90[6]" (identifier "local_90") ([ "[") (number_literal "6") (] "]")) (+ "+") (pointer_expression "*(int *)(iVar11 + 4)" (* "*") (cast_expression "(int *)(iVar11 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 4)" (( "(") (binary_expression "iVar11 + 4" (identifier "iVar11") (+ "+") (number_literal "4")) () ")"))))) (+ "+") (cast_expression "(int)local_9c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_9c")))) (; ";")) (expression_statement "uVar9 = local_78[2];" (assignment_expression "uVar9 = local_78[2]" (identifier "uVar9") (= "=") (subscript_expression "local_78[2]" (identifier "local_78") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18;" (assignment_expression "local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" (identifier "local_ac") (= "=") (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                           uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar9 << 0x18" (identifier "uVar9") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_a8 = (int)local_ac >> 0x1f;" (assignment_expression "local_a8 = (int)local_ac >> 0x1f" (identifier "local_a8") (= "=") (binary_expression "(int)local_ac >> 0x1f" (cast_expression "(int)local_ac" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_ac")) (>> ">>") (number_literal "0x1f"))) (; ";")) (if_statement "if (local_b8 < 0xd) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }" (if "if") (parenthesized_expression "(local_b8 < 0xd)" (( "(") (binary_expression "local_b8 < 0xd" (identifier "local_b8") (< "<") (number_literal "0xd")) () ")")) (compound_statement "{\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  goto LAB_0009d200;\n                }" ({ "{") (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (expression_statement "local_9c = local_b0;" (assignment_expression "local_9c = local_b0" (identifier "local_9c") (= "=") (identifier "local_b0")) (; ";")) (goto_statement "goto LAB_0009d200;" (goto "goto") (statement_identifier "LAB_0009d200") (; ";")) (} "}"))) (if_statement "if (local_b8 < 0x10) {\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }\n                else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }" (if "if") (parenthesized_expression "(local_b8 < 0x10)" (( "(") (binary_expression "local_b8 < 0x10" (identifier "local_b8") (< "<") (number_literal "0x10")) () ")")) (compound_statement "{\n                  local_b0 = &local_4c;\n                  local_9c = local_b0;\n                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;\n                }" ({ "{") (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (expression_statement "local_9c = local_b0;" (assignment_expression "local_9c = local_b0" (identifier "local_9c") (= "=") (identifier "local_b0")) (; ";")) (if_statement "if (local_90 == (undefined **)0x0) goto LAB_0009d56d;" (if "if") (parenthesized_expression "(local_90 == (undefined **)0x0)" (( "(") (binary_expression "local_90 == (undefined **)0x0" (identifier "local_90") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0009d56d;" (goto "goto") (statement_identifier "LAB_0009d56d") (; ";"))) (} "}")) (else_clause "else {\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }" (else "else") (compound_statement "{\n                  local_9c = &local_4c;\n                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;\nLAB_0009cf73:\n                  local_b0 = &local_4c;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);\n                  if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }\n                }" ({ "{") (expression_statement "local_9c = &local_4c;" (assignment_expression "local_9c = &local_4c" (identifier "local_9c") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (if_statement "if (2 < local_b8 - 0x52) goto LAB_0009d5e0;" (if "if") (parenthesized_expression "(2 < local_b8 - 0x52)" (( "(") (binary_expression "2 < local_b8 - 0x52" (number_literal "2") (< "<") (binary_expression "local_b8 - 0x52" (identifier "local_b8") (- "-") (number_literal "0x52"))) () ")")) (goto_statement "goto LAB_0009d5e0;" (goto "goto") (statement_identifier "LAB_0009d5e0") (; ";"))) (labeled_statement "LAB_0009cf73:\n                  local_b0 = &local_4c;" (statement_identifier "LAB_0009cf73") (: ":") (expression_statement "local_b0 = &local_4c;" (assignment_expression "local_b0 = &local_4c" (identifier "local_b0") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";"))) (expression_statement "cVar19 = *(code *)((int)local_90 + 0x2a);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x2a)" (identifier "cVar19") (= "=") (pointer_expression "*(code *)((int)local_90 + 0x2a)" (* "*") (cast_expression "(code *)((int)local_90 + 0x2a)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2a)" (( "(") (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2a")) () ")"))))) (; ";")) (expression_statement "local_c8 = CONCAT31(local_c8._1_3_,cVar19);" (assignment_expression "local_c8 = CONCAT31(local_c8._1_3_,cVar19)" (identifier "local_c8") (= "=") (call_expression "CONCAT31(local_c8._1_3_,cVar19)" (identifier "CONCAT31") (argument_list "(local_c8._1_3_,cVar19)" (( "(") (field_expression "local_c8._1_3_" (identifier "local_c8") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "cVar19") () ")")))) (; ";")) (if_statement "if (((byte)cVar19 & 7) == 0) {\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }\n                  else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }" (if "if") (parenthesized_expression "(((byte)cVar19 & 7) == 0)" (( "(") (binary_expression "((byte)cVar19 & 7) == 0" (parenthesized_expression "((byte)cVar19 & 7)" (( "(") (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar19")) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }\n                  }" ({ "{") (if_statement "if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }\n                    else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }" (if "if") (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" (( "(") (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20)" (( "(") (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 0x20" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)((int)local_90 + 0x2b)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2b)" (( "(") (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      *(undefined **)(puVar22 + -0x10) = local_90[3];\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;\n                      cVar7 = FUN_0034c920();\n                      if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }\n                    }" ({ "{") (expression_statement "*(undefined **)(puVar22 + -0x10) = local_90[3];" (assignment_expression "*(undefined **)(puVar22 + -0x10) = local_90[3]" (pointer_expression "*(undefined **)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined **)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "local_90[3]" (identifier "local_90") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d01f;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d01f" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9d01f")) (; ";")) (expression_statement "cVar7 = FUN_0034c920();" (assignment_expression "cVar7 = FUN_0034c920()" (identifier "cVar7") (= "=") (call_expression "FUN_0034c920()" (identifier "FUN_0034c920") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar7 == '\0') {\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }" (if "if") (parenthesized_expression "(cVar7 == '\0')" (( "(") (binary_expression "cVar7 == '\0'" (identifier "cVar7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;\n                        goto LAB_0009cf9f;\n                      }" ({ "{") (if_statement "if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;" (if "if") (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0)" (( "(") (binary_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2a) & 7)" (( "(") (binary_expression "(byte)*(code *)((int)local_90 + 0x2a) & 7" (binary_expression "(byte)*(code *)((int)local_90 + 0x2a)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)((int)local_90 + 0x2a)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2a)" (( "(") (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009cfae;" (goto "goto") (statement_identifier "LAB_0009cfae") (; ";"))) (goto_statement "goto LAB_0009cf9f;" (goto "goto") (statement_identifier "LAB_0009cf9f") (; ";")) (} "}"))) (} "}")) (else_clause "else if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }" (else "else") (if_statement "if (local_90[3] != (undefined *)0x0) {\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }" (if "if") (parenthesized_expression "(local_90[3] != (undefined *)0x0)" (( "(") (binary_expression "local_90[3] != (undefined *)0x0" (subscript_expression "local_90[3]" (identifier "local_90") ([ "[") (number_literal "3") (] "]")) (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;\n                    }" ({ "{") (labeled_statement "LAB_0009cf9f:\n                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;" (statement_identifier "LAB_0009cf9f") (: ":") (if_statement "if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;" (if "if") (parenthesized_expression "((local_90[2][0x2c] & 1) == 0)" (( "(") (binary_expression "(local_90[2][0x2c] & 1) == 0" (parenthesized_expression "(local_90[2][0x2c] & 1)" (( "(") (binary_expression "local_90[2][0x2c] & 1" (subscript_expression "local_90[2][0x2c]" (subscript_expression "local_90[2]" (identifier "local_90") ([ "[") (number_literal "2") (] "]")) ([ "[") (number_literal "0x2c") (] "]")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009cfae;" (goto "goto") (statement_identifier "LAB_0009cfae") (; ";")))) (} "}"))))) (} "}")) (else_clause "else if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }" (else "else") (if_statement "if (((byte)cVar19 & 7) != 4) {\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }" (if "if") (parenthesized_expression "(((byte)cVar19 & 7) != 4)" (( "(") (binary_expression "((byte)cVar19 & 7) != 4" (parenthesized_expression "((byte)cVar19 & 7)" (( "(") (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar19")) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\nLAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;\n                    cVar7 = FUN_00071a80();\n                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;\n                  }" ({ "{") (labeled_statement "LAB_0009cfae:\n                    *(undefined ***)(puVar22 + -0x10) = local_90;" (statement_identifier "LAB_0009cfae") (: ":") (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_90")) (; ";"))) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9cfbc" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9cfbc")) (; ";")) (expression_statement "cVar7 = FUN_00071a80();" (assignment_expression "cVar7 = FUN_00071a80()" (identifier "cVar7") (= "=") (call_expression "FUN_00071a80()" (identifier "FUN_00071a80") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;" (if "if") (parenthesized_expression "((cVar7 == '\0') && (bVar24 == 0))" (( "(") (binary_expression "(cVar7 == '\0') && (bVar24 == 0)" (parenthesized_expression "(cVar7 == '\0')" (( "(") (binary_expression "cVar7 == '\0'" (identifier "cVar7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(bVar24 == 0)" (( "(") (binary_expression "bVar24 == 0" (identifier "bVar24") (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0009ddfa;" (goto "goto") (statement_identifier "LAB_0009ddfa") (; ";"))) (} "}"))))) (} "}")))) (labeled_statement "LAB_0009cfd0:\n                ppuVar17 = local_90 + 7;" (statement_identifier "LAB_0009cfd0") (: ":") (expression_statement "ppuVar17 = local_90 + 7;" (assignment_expression "ppuVar17 = local_90 + 7" (identifier "ppuVar17") (= "=") (binary_expression "local_90 + 7" (identifier "local_90") (+ "+") (number_literal "7"))) (; ";"))) (expression_statement "ppuVar20 = ppuVar17;" (assignment_expression "ppuVar20 = ppuVar17" (identifier "ppuVar20") (= "=") (identifier "ppuVar17")) (; ";")) (while_statement "while (*ppuVar20 != (undefined *)0x0) {\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }" (while "while") (parenthesized_expression "(*ppuVar20 != (undefined *)0x0)" (( "(") (binary_expression "*ppuVar20 != (undefined *)0x0" (pointer_expression "*ppuVar20" (* "*") (identifier "ppuVar20")) (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  ppuVar20 = (undefined **)ppuVar20[2];\n                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;\n                }" ({ "{") (expression_statement "ppuVar20 = (undefined **)ppuVar20[2];" (assignment_expression "ppuVar20 = (undefined **)ppuVar20[2]" (identifier "ppuVar20") (= "=") (cast_expression "(undefined **)ppuVar20[2]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "ppuVar20[2]" (identifier "ppuVar20") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;" (if "if") (parenthesized_expression "(ppuVar20 == (undefined **)0x0)" (( "(") (binary_expression "ppuVar20 == (undefined **)0x0" (identifier "ppuVar20") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0009cfed;" (goto "goto") (statement_identifier "LAB_0009cfed") (; ";"))) (} "}"))) (if_statement "if (ppuVar20[1] == (undefined *)0xffffffff) {\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }" (if "if") (parenthesized_expression "(ppuVar20[1] == (undefined *)0xffffffff)" (( "(") (binary_expression "ppuVar20[1] == (undefined *)0xffffffff" (subscript_expression "ppuVar20[1]" (identifier "ppuVar20") ([ "[") (number_literal "1") (] "]")) (== "==") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\nLAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;\n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;\n                  FUN_002446e0();\n                }" ({ "{") (labeled_statement "LAB_0009cfed:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;" (statement_identifier "LAB_0009cfed") (: ":") (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x650e7" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x650e7" (identifier "local_94") (+ "+") (number_literal "-0x650e7"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0xd26;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0xd26" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xd26")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x196252" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x196252"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d00e;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d00e" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9d00e")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (while_statement "while (*ppuVar17 != (undefined *)0x0) {\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }" (while "while") (parenthesized_expression "(*ppuVar17 != (undefined *)0x0)" (( "(") (binary_expression "*ppuVar17 != (undefined *)0x0" (pointer_expression "*ppuVar17" (* "*") (identifier "ppuVar17")) (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  ppuVar17 = (undefined **)ppuVar17[2];\n                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;\n                }" ({ "{") (expression_statement "ppuVar17 = (undefined **)ppuVar17[2];" (assignment_expression "ppuVar17 = (undefined **)ppuVar17[2]" (identifier "ppuVar17") (= "=") (cast_expression "(undefined **)ppuVar17[2]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "ppuVar17[2]" (identifier "ppuVar17") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;" (if "if") (parenthesized_expression "(ppuVar17 == (undefined **)0x0)" (( "(") (binary_expression "ppuVar17 == (undefined **)0x0" (identifier "ppuVar17") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0009d069;" (goto "goto") (statement_identifier "LAB_0009d069") (; ";"))) (} "}"))) (if_statement "if (ppuVar17[1] == (undefined *)0xffffffff) {\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }" (if "if") (parenthesized_expression "(ppuVar17[1] == (undefined *)0xffffffff)" (( "(") (binary_expression "ppuVar17[1] == (undefined *)0xffffffff" (subscript_expression "ppuVar17[1]" (identifier "ppuVar17") ([ "[") (number_literal "1") (] "]")) (== "==") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\nLAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;\n                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;\n                    \n                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;\n                  FUN_002446e0();\n                }" ({ "{") (labeled_statement "LAB_0009d069:\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;" (statement_identifier "LAB_0009d069") (: ":") (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x64f5d" (identifier "local_94") (+ "+") (number_literal "-0x64f5d"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x1b7;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x1b7" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x1b7")) (; ";")) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_94 + -0x67308" (identifier "local_94") (+ "+") (number_literal "-0x67308"))) (; ";")) (expression_statement "*(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;" (assignment_expression "*(undefined **)(puVar22 + -0x14) = &UNK_0009d08a" (pointer_expression "*(undefined **)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0009d08a" (& "&") (identifier "UNK_0009d08a"))) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (} "}")))) (labeled_statement "LAB_0009d200:\n            local_c8 = local_c4 + param_9;" (statement_identifier "LAB_0009d200") (: ":") (expression_statement "local_c8 = local_c4 + param_9;" (assignment_expression "local_c8 = local_c4 + param_9" (identifier "local_c8") (= "=") (binary_expression "local_c4 + param_9" (identifier "local_c4") (+ "+") (identifier "param_9"))) (; ";"))) (if_statement "if (local_b8 < 0xfc) {\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }" (if "if") (parenthesized_expression "(local_b8 < 0xfc)" (( "(") (binary_expression "local_b8 < 0xfc" (identifier "local_b8") (< "<") (number_literal "0xfc")) () ")")) (compound_statement "{\n                    \n                    \n              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();\n              return;\n            }" ({ "{") (expression_statement "(*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();" (call_expression "(*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))()" (parenthesized_expression "(*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))" (( "(") (pointer_expression "*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94)" (* "*") (cast_expression "(code *)(local_94[local_b8 - 0x656fe] + (int)local_94)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_94[local_b8 - 0x656fe] + (int)local_94)" (( "(") (binary_expression "local_94[local_b8 - 0x656fe] + (int)local_94" (subscript_expression "local_94[local_b8 - 0x656fe]" (identifier "local_94") ([ "[") (binary_expression "local_b8 - 0x656fe" (identifier "local_b8") (- "-") (number_literal "0x656fe")) (] "]")) (+ "+") (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94"))) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_94 + -0x672b6" (identifier "local_94") (+ "+") (number_literal "-0x672b6"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9e3bf" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9e3bf")) (; ";")) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" (identifier "uVar15") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar9 = *local_78;" (assignment_expression "uVar9 = *local_78" (identifier "uVar9") (= "=") (pointer_expression "*local_78" (* "*") (identifier "local_78"))) (; ";")) (expression_statement "*(uint *)(puVar22 + -0xc) = local_b8;" (assignment_expression "*(uint *)(puVar22 + -0xc) = local_b8" (pointer_expression "*(uint *)(puVar22 + -0xc)" (* "*") (cast_expression "(uint *)(puVar22 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_b8")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "*(uint *)(puVar22 + -0x18) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (pointer_expression "*(uint *)(puVar22 + -0x18)" (* "*") (cast_expression "(uint *)(puVar22 + -0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x18)" (( "(") (binary_expression "puVar22 + -0x18" (identifier "puVar22") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar9 << 0x18" (identifier "uVar9") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "*(int *)(puVar22 + -0x1c) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x1c) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x1c)" (* "*") (cast_expression "(int *)(puVar22 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x1c)" (( "(") (binary_expression "puVar22 + -0x1c" (identifier "puVar22") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "local_b4")) (; ";")) (expression_statement "*(undefined4 **)(puVar22 + -0x20) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x20) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x20)" (* "*") (cast_expression "(undefined4 **)(puVar22 + -0x20)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x20)" (( "(") (binary_expression "puVar22 + -0x20" (identifier "puVar22") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9e3e3" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x24)" (( "(") (binary_expression "puVar22 + -0x24" (identifier "puVar22") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x9e3e3")) (; ";")) (expression_statement "FUN_0023be30();" (call_expression "FUN_0023be30()" (identifier "FUN_0023be30") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(byte ***)(puVar22 + -0x10) = local_b0;" (assignment_expression "*(byte ***)(puVar22 + -0x10) = local_b0" (pointer_expression "*(byte ***)(puVar22 + -0x10)" (* "*") (cast_expression "(byte ***)(puVar22 + -0x10)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_b0")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d286;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d286" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9d286")) (; ";")) (expression_statement "FUN_00072240();" (call_expression "FUN_00072240()" (identifier "FUN_00072240") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_90 != (undefined **)0x0) {\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }" (if "if") (parenthesized_expression "(local_90 != (undefined **)0x0)" (( "(") (binary_expression "local_90 != (undefined **)0x0" (identifier "local_90") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              cVar19 = *(code *)((int)local_90 + 0x2a);\n              bVar24 = (byte)cVar19 & 7;\n              ppuVar20 = local_90;\n              if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              local_90 = ppuVar17;\n              if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }\n            }" ({ "{") (expression_statement "cVar19 = *(code *)((int)local_90 + 0x2a);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x2a)" (identifier "cVar19") (= "=") (pointer_expression "*(code *)((int)local_90 + 0x2a)" (* "*") (cast_expression "(code *)((int)local_90 + 0x2a)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2a)" (( "(") (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2a")) () ")"))))) (; ";")) (expression_statement "bVar24 = (byte)cVar19 & 7;" (assignment_expression "bVar24 = (byte)cVar19 & 7" (identifier "bVar24") (= "=") (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar19")) (& "&") (number_literal "7"))) (; ";")) (expression_statement "ppuVar20 = local_90;" (assignment_expression "ppuVar20 = local_90" (identifier "ppuVar20") (= "=") (identifier "local_90")) (; ";")) (if_statement "if (((byte)cVar19 & 7) == 0) {\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }\n              else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }" (if "if") (parenthesized_expression "(((byte)cVar19 & 7) == 0)" (( "(") (binary_expression "((byte)cVar19 & 7) == 0" (parenthesized_expression "((byte)cVar19 & 7)" (( "(") (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar19")) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }\nLAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }\n                ppuVar20 = local_94 + 0x1f2;\n                if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }\n                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;\n                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }\nLAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);\n                if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }\n                iVar11 = *piVar4;\n                *(undefined ***)(puVar22 + -0xc) = local_90;\n                *(int **)(puVar22 + -0x10) = piVar4;\n                pcVar1 = *(code **)(iVar11 + 0x1c);\n                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;\n                cVar7 = (*pcVar1)();\n                if (cVar7 != '\0') goto LAB_0009d930;\n                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);\n                if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }\n                pbVar21 = ppuVar20[0x10b9];\n                bVar26 = false;\n                bVar28 = pbVar21 == (byte *)0x0;\n                if (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                bVar27 = false;\n                bVar26 = (!bVar26 && !bVar28) == bVar26;\n                if (bVar26) goto LAB_0009d930;\n                iVar11 = 0xb;\n                pbVar13 = pbVar21;\n                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);\n                bVar28 = false;\n                bVar26 = (!bVar27 && !bVar26) == bVar27;\n                if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }\nLAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x14) = local_c4;\n                *(int *)(puVar22 + -0x18) = local_b4;\n                *(undefined4 **)(puVar22 + -0x1c) = param_2;\n                *(undefined ***)(puVar22 + -0x20) = local_90;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;\n                FUN_0023c700();\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }" ({ "{") (if_statement "if ((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }" (if "if") (parenthesized_expression "((local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0))" (( "(") (binary_expression "(local_90[3] != (undefined *)0x0) ||\n                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" (parenthesized_expression "(local_90[3] != (undefined *)0x0)" (( "(") (binary_expression "local_90[3] != (undefined *)0x0" (subscript_expression "local_90[3]" (identifier "local_90") ([ "[") (number_literal "3") (] "]")) (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)" (( "(") (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20)" (( "(") (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 0x20" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)((int)local_90 + 0x2b)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2b)" (( "(") (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar20 = local_94 + -0x15e4b4;\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }\nLAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;\n                  cVar19 = *(code *)((int)local_90 + 0x29);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar24 = (byte)cVar19 & 3;\n                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;\nLAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }\nLAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }\n                  goto LAB_0009d380;\n                }" ({ "{") (expression_statement "ppuVar17 = (undefined **)local_90[2];" (assignment_expression "ppuVar17 = (undefined **)local_90[2]" (identifier "ppuVar17") (= "=") (cast_expression "(undefined **)local_90[2]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_90[2]" (identifier "local_90") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "ppuVar20 = local_94 + -0x15e4b4;" (assignment_expression "ppuVar20 = local_94 + -0x15e4b4" (identifier "ppuVar20") (= "=") (binary_expression "local_94 + -0x15e4b4" (identifier "local_94") (+ "+") (number_literal "-0x15e4b4"))) (; ";")) (expression_statement "ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);" (assignment_expression "ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14)" (identifier "ppuVar2") (= "=") (pointer_expression "*(undefined ***)(*ppuVar17 + 0x14)" (* "*") (cast_expression "(undefined ***)(*ppuVar17 + 0x14)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*ppuVar17 + 0x14)" (( "(") (binary_expression "*ppuVar17 + 0x14" (pointer_expression "*ppuVar17" (* "*") (identifier "ppuVar17")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (ppuVar2 != ppuVar20) {\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }" (if "if") (parenthesized_expression "(ppuVar2 != ppuVar20)" (( "(") (binary_expression "ppuVar2 != ppuVar20" (identifier "ppuVar2") (!= "!=") (identifier "ppuVar20")) () ")")) (compound_statement "{\n                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;\n                    iVar11 = (*(code *)ppuVar2)();\n                    if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }\n                    goto LAB_0009d970;\n                  }" ({ "{") (expression_statement "*(undefined ***)(puVar22 + -0x10) = ppuVar17;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = ppuVar17" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "ppuVar17")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d736;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d736" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9d736")) (; ";")) (expression_statement "iVar11 = (*(code *)ppuVar2)();" (assignment_expression "iVar11 = (*(code *)ppuVar2)()" (identifier "iVar11") (= "=") (call_expression "(*(code *)ppuVar2)()" (parenthesized_expression "(*(code *)ppuVar2)" (( "(") (pointer_expression "*(code *)ppuVar2" (* "*") (cast_expression "(code *)ppuVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar2"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar11 != 0) {\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }" (if "if") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      cVar19 = *(code *)((int)local_90 + 0x2a);\n                      bVar24 = (byte)cVar19 & 7;\n                      if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }\n                      ppuVar20 = local_94 + 0x1f2;\n                      goto LAB_0009d779;\n                    }" ({ "{") (expression_statement "cVar19 = *(code *)((int)local_90 + 0x2a);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x2a)" (identifier "cVar19") (= "=") (pointer_expression "*(code *)((int)local_90 + 0x2a)" (* "*") (cast_expression "(code *)((int)local_90 + 0x2a)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2a)" (( "(") (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2a")) () ")"))))) (; ";")) (expression_statement "bVar24 = (byte)cVar19 & 7;" (assignment_expression "bVar24 = (byte)cVar19 & 7" (identifier "bVar24") (= "=") (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar19")) (& "&") (number_literal "7"))) (; ";")) (if_statement "if (((byte)cVar19 & 7) == 0) {\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }\n                      else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }" (if "if") (parenthesized_expression "(((byte)cVar19 & 7) == 0)" (( "(") (binary_expression "((byte)cVar19 & 7) == 0" (parenthesized_expression "((byte)cVar19 & 7)" (( "(") (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar19")) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                        if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }\n                        if ((char)cVar8 < '\0') goto LAB_0009d900;\n                      }" ({ "{") (if_statement "if (local_90[3] == (undefined *)0x0) {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }\n                        else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }" (if "if") (parenthesized_expression "(local_90[3] == (undefined *)0x0)" (( "(") (binary_expression "local_90[3] == (undefined *)0x0" (subscript_expression "local_90[3]" (identifier "local_90") ([ "[") (number_literal "3") (] "]")) (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;\n                        }" ({ "{") (expression_statement "cVar8 = *(code *)((int)local_90 + 0x2b);" (assignment_expression "cVar8 = *(code *)((int)local_90 + 0x2b)" (identifier "cVar8") (= "=") (pointer_expression "*(code *)((int)local_90 + 0x2b)" (* "*") (cast_expression "(code *)((int)local_90 + 0x2b)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2b)" (( "(") (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2b")) () ")"))))) (; ";")) (if_statement "if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;" (if "if") (parenthesized_expression "(((byte)cVar8 & 0x20) != 0)" (( "(") (binary_expression "((byte)cVar8 & 0x20) != 0" (parenthesized_expression "((byte)cVar8 & 0x20)" (( "(") (binary_expression "(byte)cVar8 & 0x20" (cast_expression "(byte)cVar8" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar8")) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009d63d;" (goto "goto") (statement_identifier "LAB_0009d63d") (; ";"))) (} "}")) (else_clause "else {\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }" (else "else") (compound_statement "{\n                          cVar8 = *(code *)((int)local_90 + 0x2b);\n                        }" ({ "{") (expression_statement "cVar8 = *(code *)((int)local_90 + 0x2b);" (assignment_expression "cVar8 = *(code *)((int)local_90 + 0x2b)" (identifier "cVar8") (= "=") (pointer_expression "*(code *)((int)local_90 + 0x2b)" (* "*") (cast_expression "(code *)((int)local_90 + 0x2b)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2b)" (( "(") (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2b")) () ")"))))) (; ";")) (} "}")))) (if_statement "if ((char)cVar8 < '\0') goto LAB_0009d900;" (if "if") (parenthesized_expression "((char)cVar8 < '\0')" (( "(") (binary_expression "(char)cVar8 < '\0'" (cast_expression "(char)cVar8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "cVar8")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0009d900;" (goto "goto") (statement_identifier "LAB_0009d900") (; ";"))) (} "}")) (else_clause "else {\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }" (else "else") (compound_statement "{\n                        if (bVar24 == 4) goto LAB_0009d63d;\n                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;\n                      }" ({ "{") (if_statement "if (bVar24 == 4) goto LAB_0009d63d;" (if "if") (parenthesized_expression "(bVar24 == 4)" (( "(") (binary_expression "bVar24 == 4" (identifier "bVar24") (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_0009d63d;" (goto "goto") (statement_identifier "LAB_0009d63d") (; ";"))) (if_statement "if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;" (if "if") (parenthesized_expression "((char)*(code *)((int)local_90 + 0x2b) < '\0')" (( "(") (binary_expression "(char)*(code *)((int)local_90 + 0x2b) < '\0'" (cast_expression "(char)*(code *)((int)local_90 + 0x2b)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(code *)((int)local_90 + 0x2b)" (* "*") (cast_expression "(code *)((int)local_90 + 0x2b)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2b)" (( "(") (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2b")) () ")"))))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0009d6b0;" (goto "goto") (statement_identifier "LAB_0009d6b0") (; ";"))) (} "}")))) (expression_statement "ppuVar20 = local_94 + 0x1f2;" (assignment_expression "ppuVar20 = local_94 + 0x1f2" (identifier "ppuVar20") (= "=") (binary_expression "local_94 + 0x1f2" (identifier "local_94") (+ "+") (number_literal "0x1f2"))) (; ";")) (goto_statement "goto LAB_0009d779;" (goto "goto") (statement_identifier "LAB_0009d779") (; ";")) (} "}"))) (goto_statement "goto LAB_0009d970;" (goto "goto") (statement_identifier "LAB_0009d970") (; ";")) (} "}"))) (labeled_statement "LAB_0009d2df:\n                  bVar18 = (byte)cVar19 & 7;" (statement_identifier "LAB_0009d2df") (: ":") (expression_statement "bVar18 = (byte)cVar19 & 7;" (assignment_expression "bVar18 = (byte)cVar19 & 7" (identifier "bVar18") (= "=") (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar19")) (& "&") (number_literal "7"))) (; ";"))) (expression_statement "cVar19 = *(code *)((int)local_90 + 0x29);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x29)" (identifier "cVar19") (= "=") (pointer_expression "*(code *)((int)local_90 + 0x29)" (* "*") (cast_expression "(code *)((int)local_90 + 0x29)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x29)" (( "(") (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x29")) () ")"))))) (; ";")) (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19)" (identifier "local_9c") (= "=") (cast_expression "(byte **)CONCAT31(local_9c._1_3_,cVar19)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_9c._1_3_,cVar19)" (identifier "CONCAT31") (argument_list "(local_9c._1_3_,cVar19)" (( "(") (field_expression "local_9c._1_3_" (identifier "local_9c") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "cVar19") () ")"))))) (; ";")) (expression_statement "bVar24 = (byte)cVar19 & 3;" (assignment_expression "bVar24 = (byte)cVar19 & 3" (identifier "bVar24") (= "=") (binary_expression "(byte)cVar19 & 3" (cast_expression "(byte)cVar19" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar19")) (& "&") (number_literal "3"))) (; ";")) (if_statement "if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;" (if "if") (parenthesized_expression "(((byte)cVar19 & 3) == 0)" (( "(") (binary_expression "((byte)cVar19 & 3) == 0" (parenthesized_expression "((byte)cVar19 & 3)" (( "(") (binary_expression "(byte)cVar19 & 3" (cast_expression "(byte)cVar19" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar19")) (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009d380;" (goto "goto") (statement_identifier "LAB_0009d380") (; ";"))) (labeled_statement "LAB_0009d2fb:\n                  if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }" (statement_identifier "LAB_0009d2fb") (: ":") (if_statement "if ((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }" (if "if") (parenthesized_expression "((local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0))" (( "(") (binary_expression "(local_90[3] == (undefined *)0x0) &&\n                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)" (parenthesized_expression "(local_90[3] == (undefined *)0x0)" (( "(") (binary_expression "local_90[3] == (undefined *)0x0" (subscript_expression "local_90[3]" (identifier "local_90") ([ "[") (number_literal "3") (] "]")) (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)" (( "(") (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 0x20)" (( "(") (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 0x20" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)((int)local_90 + 0x2b)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2b)" (( "(") (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;\n                    ppuVar17 = (undefined **)(uint)bVar16;\n                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;\n                  }" ({ "{") (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" (identifier "local_9c") (= "=") (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" (identifier "CONCAT31") (argument_list "(local_9c._1_3_,*(code *)(local_90 + 10))" (( "(") (field_expression "local_9c._1_3_" (identifier "local_9c") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(code *)(local_90 + 10)" (* "*") (cast_expression "(code *)(local_90 + 10)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_90 + 10)" (( "(") (binary_expression "local_90 + 10" (identifier "local_90") (+ "+") (number_literal "10")) () ")")))) () ")"))))) (; ";")) (expression_statement "bVar16 = (byte)*(code *)(local_90 + 10) >> 4;" (assignment_expression "bVar16 = (byte)*(code *)(local_90 + 10) >> 4" (identifier "bVar16") (= "=") (binary_expression "(byte)*(code *)(local_90 + 10) >> 4" (binary_expression "(byte)*(code *)(local_90 + 10)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)(local_90 + 10)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_90 + 10)" (( "(") (binary_expression "local_90 + 10" (identifier "local_90") (+ "+") (number_literal "10")) () ")")))) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "ppuVar17 = (undefined **)(uint)bVar16;" (assignment_expression "ppuVar17 = (undefined **)(uint)bVar16" (identifier "ppuVar17") (= "=") (cast_expression "(undefined **)(uint)bVar16" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (cast_expression "(uint)bVar16" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar16")))) (; ";")) (if_statement "if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))\n                    goto LAB_0009d701;" (if "if") (parenthesized_expression "((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))" (( "(") (binary_expression "(bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0)" (parenthesized_expression "(bVar16 != 2)" (( "(") (binary_expression "bVar16 != 2" (identifier "bVar16") (!= "!=") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0)" (( "(") (comma_expression "ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0" (assignment_expression "ppuVar17 = local_90" (identifier "ppuVar17") (= "=") (identifier "local_90")) (, ",") (binary_expression "((uint)local_90[0xb] & 2) == 0" (parenthesized_expression "((uint)local_90[0xb] & 2)" (( "(") (binary_expression "(uint)local_90[0xb] & 2" (cast_expression "(uint)local_90[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_90[0xb]" (identifier "local_90") ([ "[") (number_literal "0xb") (] "]"))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0009d701;" (goto "goto") (statement_identifier "LAB_0009d701") (; ";"))) (} "}")))) (labeled_statement "LAB_0009d312:\n                  if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }" (statement_identifier "LAB_0009d312") (: ":") (if_statement "if ((local_90[2][0x2c] & 1) != 0) {\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }" (if "if") (parenthesized_expression "((local_90[2][0x2c] & 1) != 0)" (( "(") (binary_expression "(local_90[2][0x2c] & 1) != 0" (parenthesized_expression "(local_90[2][0x2c] & 1)" (( "(") (binary_expression "local_90[2][0x2c] & 1" (subscript_expression "local_90[2][0x2c]" (subscript_expression "local_90[2]" (identifier "local_90") ([ "[") (number_literal "2") (] "]")) ([ "[") (number_literal "0x2c") (] "]")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }\n                    puVar3 = *local_90;\n                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;\n                    uVar10 = gettext();\n                    *(undefined **)(puVar22 + -8) = puVar3;\n                    *(undefined4 *)(puVar22 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar22 + -0x10) = uVar10;\n                    \n                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;\n                    FUN_0023b810();\n                  }" ({ "{") (labeled_statement "LAB_0009d321:\n                    if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }" (statement_identifier "LAB_0009d321") (: ":") (if_statement "if (bVar24 == 2) {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }\n                    else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }" (if "if") (parenthesized_expression "(bVar24 == 2)" (( "(") (binary_expression "bVar24 == 2" (identifier "bVar24") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;\n                      uVar15 = gettext();\n                    }" ({ "{") (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x19ca5d" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19ca5d"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9e2b5" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9e2b5")) (; ";")) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" (identifier "uVar15") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }" (else "else") (if_statement "if (bVar24 < 3) {\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }\n                    else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }" (if "if") (parenthesized_expression "(bVar24 < 3)" (( "(") (binary_expression "bVar24 < 3" (identifier "bVar24") (< "<") (number_literal "3")) () ")")) (compound_statement "{\n                      if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;\n                      uVar15 = gettext();\n                    }" ({ "{") (if_statement "if (bVar24 != 1) {\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }" (if "if") (parenthesized_expression "(bVar24 != 1)" (( "(") (binary_expression "bVar24 != 1" (identifier "bVar24") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\nLAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;\n                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;\n                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;\n                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;\n                    \n                    \n                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;\n                        FUN_002446e0();\n                      }" ({ "{") (labeled_statement "LAB_0009f3a6:\n                        *(undefined ***)(puVar22 + -4) = ppuVar17;" (statement_identifier "LAB_0009f3a6") (: ":") (expression_statement "*(undefined ***)(puVar22 + -4) = ppuVar17;" (assignment_expression "*(undefined ***)(puVar22 + -4) = ppuVar17" (pointer_expression "*(undefined ***)(puVar22 + -4)" (* "*") (cast_expression "(undefined ***)(puVar22 + -4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -4)" (( "(") (binary_expression "puVar22 + -4" (identifier "puVar22") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "ppuVar17")) (; ";"))) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x64fbc" (identifier "local_94") (+ "+") (number_literal "-0x64fbc"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0xa4;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0xa4" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xa4")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x19cb27" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19cb27"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f3c5" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f3c5")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x19ca66" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19ca66"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d99d;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d99d" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9d99d")) (; ";")) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" (identifier "uVar15") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }" (else "else") (compound_statement "{\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;\n                      uVar15 = gettext();\n                    }" ({ "{") (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x19ca56" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x19ca56"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d344;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d344" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9d344")) (; ";")) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" (identifier "uVar15") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}"))))))) (expression_statement "puVar3 = *local_90;" (assignment_expression "puVar3 = *local_90" (identifier "puVar3") (= "=") (pointer_expression "*local_90" (* "*") (identifier "local_90"))) (; ";")) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_94 + -0x67173" (identifier "local_94") (+ "+") (number_literal "-0x67173"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d368;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d368" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9d368")) (; ";")) (expression_statement "uVar10 = gettext();" (assignment_expression "uVar10 = gettext()" (identifier "uVar10") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined **)(puVar22 + -8) = puVar3;" (assignment_expression "*(undefined **)(puVar22 + -8) = puVar3" (pointer_expression "*(undefined **)(puVar22 + -8)" (* "*") (cast_expression "(undefined **)(puVar22 + -8)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar10;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar10" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d379;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d379" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9d379")) (; ";")) (expression_statement "FUN_0023b810();" (call_expression "FUN_0023b810()" (identifier "FUN_0023b810") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0009d380;" (goto "goto") (statement_identifier "LAB_0009d380") (; ";")) (} "}"))) (labeled_statement "LAB_0009d63d:\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));" (statement_identifier "LAB_0009d63d") (: ":") (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" (identifier "local_9c") (= "=") (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" (identifier "CONCAT31") (argument_list "(local_9c._1_3_,*(code *)(local_90 + 10))" (( "(") (field_expression "local_9c._1_3_" (identifier "local_9c") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(code *)(local_90 + 10)" (* "*") (cast_expression "(code *)(local_90 + 10)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_90 + 10)" (( "(") (binary_expression "local_90 + 10" (identifier "local_90") (+ "+") (number_literal "10")) () ")")))) () ")"))))) (; ";"))) (if_statement "if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))\n                {\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }" (if "if") (parenthesized_expression "(((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))" (( "(") (binary_expression "((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0)" (parenthesized_expression "((byte)*(code *)(local_90 + 10) >> 4 == 2)" (( "(") (binary_expression "(byte)*(code *)(local_90 + 10) >> 4 == 2" (binary_expression "(byte)*(code *)(local_90 + 10) >> 4" (binary_expression "(byte)*(code *)(local_90 + 10)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)(local_90 + 10)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_90 + 10)" (( "(") (binary_expression "local_90 + 10" (identifier "local_90") (+ "+") (number_literal "10")) () ")")))) (>> ">>") (number_literal "4")) (== "==") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(((uint)local_90[0xb] & 2) != 0)" (( "(") (binary_expression "((uint)local_90[0xb] & 2) != 0" (parenthesized_expression "((uint)local_90[0xb] & 2)" (( "(") (binary_expression "(uint)local_90[0xb] & 2" (cast_expression "(uint)local_90[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_90[0xb]" (identifier "local_90") ([ "[") (number_literal "0xb") (] "]"))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\nLAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;\n                  cVar19 = *(code *)((int)local_90 + 0x2a);\n                  ppuVar17 = (undefined **)(uint)(byte)cVar19;\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);\n                  bVar18 = (byte)cVar19 & 7;\n                  if (bVar18 != 0) goto LAB_0009d6cc;\n                  goto LAB_0009d2fb;\n                }" ({ "{") (labeled_statement "LAB_0009d970:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));" (statement_identifier "LAB_0009d970") (: ":") (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" (identifier "local_9c") (= "=") (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" (identifier "CONCAT31") (argument_list "(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" (( "(") (field_expression "local_9c._1_3_" (identifier "local_9c") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(code *)((int)local_90 + 0x29)" (* "*") (cast_expression "(code *)((int)local_90 + 0x29)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x29)" (( "(") (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x29")) () ")")))) () ")"))))) (; ";"))) (expression_statement "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;" (assignment_expression "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3" (identifier "bVar24") (= "=") (binary_expression "(byte)*(code *)((int)local_90 + 0x29) & 3" (binary_expression "(byte)*(code *)((int)local_90 + 0x29)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)((int)local_90 + 0x29)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x29)" (( "(") (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x29")) () ")")))) (& "&") (number_literal "3"))) (; ";")) (labeled_statement "LAB_0009d943:\n                  if (bVar24 == 0) goto LAB_0009d380;" (statement_identifier "LAB_0009d943") (: ":") (if_statement "if (bVar24 == 0) goto LAB_0009d380;" (if "if") (parenthesized_expression "(bVar24 == 0)" (( "(") (binary_expression "bVar24 == 0" (identifier "bVar24") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009d380;" (goto "goto") (statement_identifier "LAB_0009d380") (; ";")))) (expression_statement "cVar19 = *(code *)((int)local_90 + 0x2a);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x2a)" (identifier "cVar19") (= "=") (pointer_expression "*(code *)((int)local_90 + 0x2a)" (* "*") (cast_expression "(code *)((int)local_90 + 0x2a)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2a)" (( "(") (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2a")) () ")"))))) (; ";")) (expression_statement "ppuVar17 = (undefined **)(uint)(byte)cVar19;" (assignment_expression "ppuVar17 = (undefined **)(uint)(byte)cVar19" (identifier "ppuVar17") (= "=") (cast_expression "(undefined **)(uint)(byte)cVar19" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (cast_expression "(uint)(byte)cVar19" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)cVar19" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar19"))))) (; ";")) (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19)" (identifier "local_9c") (= "=") (cast_expression "(byte **)CONCAT31(local_9c._1_3_,cVar19)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_9c._1_3_,cVar19)" (identifier "CONCAT31") (argument_list "(local_9c._1_3_,cVar19)" (( "(") (field_expression "local_9c._1_3_" (identifier "local_9c") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "cVar19") () ")"))))) (; ";")) (expression_statement "bVar18 = (byte)cVar19 & 7;" (assignment_expression "bVar18 = (byte)cVar19 & 7" (identifier "bVar18") (= "=") (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar19")) (& "&") (number_literal "7"))) (; ";")) (if_statement "if (bVar18 != 0) goto LAB_0009d6cc;" (if "if") (parenthesized_expression "(bVar18 != 0)" (( "(") (binary_expression "bVar18 != 0" (identifier "bVar18") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009d6cc;" (goto "goto") (statement_identifier "LAB_0009d6cc") (; ";"))) (goto_statement "goto LAB_0009d2fb;" (goto "goto") (statement_identifier "LAB_0009d2fb") (; ";")) (} "}"))) (expression_statement "ppuVar20 = local_94 + 0x1f2;" (assignment_expression "ppuVar20 = local_94 + 0x1f2" (identifier "ppuVar20") (= "=") (binary_expression "local_94 + 0x1f2" (identifier "local_94") (+ "+") (number_literal "0x1f2"))) (; ";")) (if_statement "if (*(int *)(*ppuVar20 + 8) == 0) {\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }" (if "if") (parenthesized_expression "(*(int *)(*ppuVar20 + 8) == 0)" (( "(") (binary_expression "*(int *)(*ppuVar20 + 8) == 0" (pointer_expression "*(int *)(*ppuVar20 + 8)" (* "*") (cast_expression "(int *)(*ppuVar20 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*ppuVar20 + 8)" (( "(") (binary_expression "*ppuVar20 + 8" (pointer_expression "*ppuVar20" (* "*") (identifier "ppuVar20")) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  *(undefined4 *)(puVar22 + -4) = 0;\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;\n                  FUN_002446e0();\n                }" ({ "{") (expression_statement "*(undefined4 *)(puVar22 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -4)" (( "(") (binary_expression "puVar22 + -4" (identifier "puVar22") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x64ebf" (identifier "local_94") (+ "+") (number_literal "-0x64ebf"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x1a1d93"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f447;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f447" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f447")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;" (if "if") (parenthesized_expression "(*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0'" (pointer_expression "*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1)" (* "*") (cast_expression "(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*ppuVar20 + 8) + 0x49b1)" (( "(") (binary_expression "*(int *)(*ppuVar20 + 8) + 0x49b1" (pointer_expression "*(int *)(*ppuVar20 + 8)" (* "*") (cast_expression "(int *)(*ppuVar20 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*ppuVar20 + 8)" (( "(") (binary_expression "*ppuVar20 + 8" (pointer_expression "*ppuVar20" (* "*") (identifier "ppuVar20")) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x49b1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0009d970;" (goto "goto") (statement_identifier "LAB_0009d970") (; ";"))) (if_statement "if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }" (if "if") (parenthesized_expression "((char)*(code *)((int)local_90 + 0x2b) < '\0')" (( "(") (binary_expression "(char)*(code *)((int)local_90 + 0x2b) < '\0'" (cast_expression "(char)*(code *)((int)local_90 + 0x2b)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(code *)((int)local_90 + 0x2b)" (* "*") (cast_expression "(code *)((int)local_90 + 0x2b)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2b)" (( "(") (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2b")) () ")"))))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  if (bVar24 != 0) goto LAB_0009d6b0;\n                  ppuVar20 = local_94 + -0x15e4b4;\nLAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];\n                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);\n                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;\n                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;\n                  iVar11 = (*(code *)ppuVar2)();\n                  ppuVar20 = local_e0;\n                  if (iVar11 != 0) goto LAB_0009d779;\nLAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  goto LAB_0009d943;\n                }" ({ "{") (if_statement "if (bVar24 != 0) goto LAB_0009d6b0;" (if "if") (parenthesized_expression "(bVar24 != 0)" (( "(") (binary_expression "bVar24 != 0" (identifier "bVar24") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009d6b0;" (goto "goto") (statement_identifier "LAB_0009d6b0") (; ";"))) (expression_statement "ppuVar20 = local_94 + -0x15e4b4;" (assignment_expression "ppuVar20 = local_94 + -0x15e4b4" (identifier "ppuVar20") (= "=") (binary_expression "local_94 + -0x15e4b4" (identifier "local_94") (+ "+") (number_literal "-0x15e4b4"))) (; ";")) (labeled_statement "LAB_0009d900:\n                  ppuVar17 = (undefined **)local_90[2];" (statement_identifier "LAB_0009d900") (: ":") (expression_statement "ppuVar17 = (undefined **)local_90[2];" (assignment_expression "ppuVar17 = (undefined **)local_90[2]" (identifier "ppuVar17") (= "=") (cast_expression "(undefined **)local_90[2]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_90[2]" (identifier "local_90") ([ "[") (number_literal "2") (] "]")))) (; ";"))) (expression_statement "ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);" (assignment_expression "ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14)" (identifier "ppuVar2") (= "=") (pointer_expression "*(undefined ***)(*ppuVar17 + 0x14)" (* "*") (cast_expression "(undefined ***)(*ppuVar17 + 0x14)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*ppuVar17 + 0x14)" (( "(") (binary_expression "*ppuVar17 + 0x14" (pointer_expression "*ppuVar17" (* "*") (identifier "ppuVar17")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (ppuVar2 == ppuVar20) goto LAB_0009d2df;" (if "if") (parenthesized_expression "(ppuVar2 == ppuVar20)" (( "(") (binary_expression "ppuVar2 == ppuVar20" (identifier "ppuVar2") (== "==") (identifier "ppuVar20")) () ")")) (goto_statement "goto LAB_0009d2df;" (goto "goto") (statement_identifier "LAB_0009d2df") (; ";"))) (expression_statement "*(undefined ***)(puVar22 + -0x10) = ppuVar17;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = ppuVar17" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "ppuVar17")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d91c;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d91c" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9d91c")) (; ";")) (expression_statement "iVar11 = (*(code *)ppuVar2)();" (assignment_expression "iVar11 = (*(code *)ppuVar2)()" (identifier "iVar11") (= "=") (call_expression "(*(code *)ppuVar2)()" (parenthesized_expression "(*(code *)ppuVar2)" (( "(") (pointer_expression "*(code *)ppuVar2" (* "*") (cast_expression "(code *)ppuVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar2"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "ppuVar20 = local_e0;" (assignment_expression "ppuVar20 = local_e0" (identifier "ppuVar20") (= "=") (identifier "local_e0")) (; ";")) (if_statement "if (iVar11 != 0) goto LAB_0009d779;" (if "if") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009d779;" (goto "goto") (statement_identifier "LAB_0009d779") (; ";"))) (labeled_statement "LAB_0009d930:\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));" (statement_identifier "LAB_0009d930") (: ":") (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" (identifier "local_9c") (= "=") (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" (identifier "CONCAT31") (argument_list "(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" (( "(") (field_expression "local_9c._1_3_" (identifier "local_9c") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(code *)((int)local_90 + 0x29)" (* "*") (cast_expression "(code *)((int)local_90 + 0x29)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x29)" (( "(") (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x29")) () ")")))) () ")"))))) (; ";"))) (expression_statement "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;" (assignment_expression "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3" (identifier "bVar24") (= "=") (binary_expression "(byte)*(code *)((int)local_90 + 0x29) & 3" (binary_expression "(byte)*(code *)((int)local_90 + 0x29)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)((int)local_90 + 0x29)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x29)" (( "(") (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x29")) () ")")))) (& "&") (number_literal "3"))) (; ";")) (goto_statement "goto LAB_0009d943;" (goto "goto") (statement_identifier "LAB_0009d943") (; ";")) (} "}"))) (labeled_statement "LAB_0009d779:\n                piVar4 = *(int **)(*ppuVar20 + 0xc);" (statement_identifier "LAB_0009d779") (: ":") (expression_statement "piVar4 = *(int **)(*ppuVar20 + 0xc);" (assignment_expression "piVar4 = *(int **)(*ppuVar20 + 0xc)" (identifier "piVar4") (= "=") (pointer_expression "*(int **)(*ppuVar20 + 0xc)" (* "*") (cast_expression "(int **)(*ppuVar20 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*ppuVar20 + 0xc)" (( "(") (binary_expression "*ppuVar20 + 0xc" (pointer_expression "*ppuVar20" (* "*") (identifier "ppuVar20")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";"))) (if_statement "if (piVar4 == (int *)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }" (if "if") (parenthesized_expression "(piVar4 == (int *)0x0)" (( "(") (binary_expression "piVar4 == (int *)0x0" (identifier "piVar4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x69;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;\n                  FUN_002446e0();\n                }" ({ "{") (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x64fb7" (identifier "local_94") (+ "+") (number_literal "-0x64fb7"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x69;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x69" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x69")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x1a1d93"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f336;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f336" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f336")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar11 = *piVar4;" (assignment_expression "iVar11 = *piVar4" (identifier "iVar11") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (expression_statement "*(undefined ***)(puVar22 + -0xc) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0xc) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined ***)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_90")) (; ";")) (expression_statement "*(int **)(puVar22 + -0x10) = piVar4;" (assignment_expression "*(int **)(puVar22 + -0x10) = piVar4" (pointer_expression "*(int **)(puVar22 + -0x10)" (* "*") (cast_expression "(int **)(puVar22 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar4")) (; ";")) (expression_statement "pcVar1 = *(code **)(iVar11 + 0x1c);" (assignment_expression "pcVar1 = *(code **)(iVar11 + 0x1c)" (identifier "pcVar1") (= "=") (pointer_expression "*(code **)(iVar11 + 0x1c)" (* "*") (cast_expression "(code **)(iVar11 + 0x1c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x1c)" (( "(") (binary_expression "iVar11 + 0x1c" (identifier "iVar11") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d795;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d795" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9d795")) (; ";")) (expression_statement "cVar7 = (*pcVar1)();" (assignment_expression "cVar7 = (*pcVar1)()" (identifier "cVar7") (= "=") (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" (( "(") (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar7 != '\0') goto LAB_0009d930;" (if "if") (parenthesized_expression "(cVar7 != '\0')" (( "(") (binary_expression "cVar7 != '\0'" (identifier "cVar7") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0009d930;" (goto "goto") (statement_identifier "LAB_0009d930") (; ";"))) (expression_statement "ppuVar20 = *(undefined ***)(*ppuVar20 + 8);" (assignment_expression "ppuVar20 = *(undefined ***)(*ppuVar20 + 8)" (identifier "ppuVar20") (= "=") (pointer_expression "*(undefined ***)(*ppuVar20 + 8)" (* "*") (cast_expression "(undefined ***)(*ppuVar20 + 8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*ppuVar20 + 8)" (( "(") (binary_expression "*ppuVar20 + 8" (pointer_expression "*ppuVar20" (* "*") (identifier "ppuVar20")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (ppuVar20 == (undefined **)0x0) {\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }" (if "if") (parenthesized_expression "(ppuVar20 == (undefined **)0x0)" (( "(") (binary_expression "ppuVar20 == (undefined **)0x0" (identifier "ppuVar20") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;\n                  FUN_002446e0();\n                }" ({ "{") (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x64ebf" (identifier "local_94") (+ "+") (number_literal "-0x64ebf"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x1a1d93"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f398;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f398" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f398")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "pbVar21 = ppuVar20[0x10b9];" (assignment_expression "pbVar21 = ppuVar20[0x10b9]" (identifier "pbVar21") (= "=") (subscript_expression "ppuVar20[0x10b9]" (identifier "ppuVar20") ([ "[") (number_literal "0x10b9") (] "]"))) (; ";")) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" (identifier "bVar26") (= "=") (false "false")) (; ";")) (expression_statement "bVar28 = pbVar21 == (byte *)0x0;" (assignment_expression "bVar28 = pbVar21 == (byte *)0x0" (identifier "bVar28") (= "=") (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 (bVar28) {\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }" (if "if") (parenthesized_expression "(bVar28)" (( "(") (identifier "bVar28") () ")")) (compound_statement "{\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\nLAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;\n                  goto LAB_0009d943;\n                }" ({ "{") (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" (identifier "local_9c") (= "=") (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" (identifier "CONCAT31") (argument_list "(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" (( "(") (field_expression "local_9c._1_3_" (identifier "local_9c") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(code *)((int)local_90 + 0x29)" (* "*") (cast_expression "(code *)((int)local_90 + 0x29)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x29)" (( "(") (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x29")) () ")")))) () ")"))))) (; ";")) (expression_statement "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;" (assignment_expression "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3" (identifier "bVar24") (= "=") (binary_expression "(byte)*(code *)((int)local_90 + 0x29) & 3" (binary_expression "(byte)*(code *)((int)local_90 + 0x29)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)((int)local_90 + 0x29)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x29)" (( "(") (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x29")) () ")")))) (& "&") (number_literal "3"))) (; ";")) (labeled_statement "LAB_0009d85a:\n                  if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;" (statement_identifier "LAB_0009d85a") (: ":") (if_statement "if ((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;" (if "if") (parenthesized_expression "((bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0))))" (( "(") (binary_expression "(bVar24 == 2) ||\n                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))" (parenthesized_expression "(bVar24 == 2)" (( "(") (binary_expression "bVar24 == 2" (identifier "bVar24") (== "==") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))" (( "(") (parenthesized_expression "(*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0))" (( "(") (binary_expression "*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||\n                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)" (binary_expression "*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0" (pointer_expression "*(code *)((int)ppuVar20 + 0x1a25)" (* "*") (cast_expression "(code *)((int)ppuVar20 + 0x1a25)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar20 + 0x1a25)" (( "(") (binary_expression "(int)ppuVar20 + 0x1a25" (cast_expression "(int)ppuVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar20")) (+ "+") (number_literal "0x1a25")) () ")")))) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) (|| "||") (parenthesized_expression "(*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)" (( "(") (binary_expression "*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0" (pointer_expression "*(code *)((int)ppuVar20 + 0x4eb5)" (* "*") (cast_expression "(code *)((int)ppuVar20 + 0x4eb5)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar20 + 0x4eb5)" (( "(") (binary_expression "(int)ppuVar20 + 0x4eb5" (cast_expression "(int)ppuVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar20")) (+ "+") (number_literal "0x4eb5")) () ")")))) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0009d874;" (goto "goto") (statement_identifier "LAB_0009d874") (; ";")))) (goto_statement "goto LAB_0009d943;" (goto "goto") (statement_identifier "LAB_0009d943") (; ";")) (} "}"))) (expression_statement "iVar11 = 0xb;" (assignment_expression "iVar11 = 0xb" (identifier "iVar11") (= "=") (number_literal "0xb")) (; ";")) (expression_statement "pbVar13 = pbVar21;" (assignment_expression "pbVar13 = pbVar21" (identifier "pbVar13") (= "=") (identifier "pbVar21")) (; ";")) (expression_statement "pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);" (assignment_expression "pbVar25 = (byte *)((int)local_94 + -0x1a1fa6)" (identifier "pbVar25") (= "=") (cast_expression "(byte *)((int)local_94 + -0x1a1fa6)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + -0x1a1fa6)" (( "(") (binary_expression "(int)local_94 + -0x1a1fa6" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x1a1fa6")) () ")")))) (; ";")) (do_statement "do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);" (do "do") (compound_statement "{\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar13 < *pbVar25;\n                  bVar28 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                }" ({ "{") (if_statement "if (iVar11 == 0) break;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + -1" (identifier "iVar11") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar26 = *pbVar13 < *pbVar25;" (assignment_expression "bVar26 = *pbVar13 < *pbVar25" (identifier "bVar26") (= "=") (binary_expression "*pbVar13 < *pbVar25" (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")) (< "<") (pointer_expression "*pbVar25" (* "*") (identifier "pbVar25")))) (; ";")) (expression_statement "bVar28 = *pbVar13 == *pbVar25;" (assignment_expression "bVar28 = *pbVar13 == *pbVar25" (identifier "bVar28") (= "=") (binary_expression "*pbVar13 == *pbVar25" (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")) (== "==") (pointer_expression "*pbVar25" (* "*") (identifier "pbVar25")))) (; ";")) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" (identifier "pbVar13") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1" (identifier "pbVar25") (= "=") (binary_expression "pbVar25 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar29 * -2" (identifier "pbVar25") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar28)" (( "(") (identifier "bVar28") () ")")) (; ";")) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" (identifier "bVar27") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = (!bVar26 && !bVar28) == bVar26;" (assignment_expression "bVar26 = (!bVar26 && !bVar28) == bVar26" (identifier "bVar26") (= "=") (binary_expression "(!bVar26 && !bVar28) == bVar26" (parenthesized_expression "(!bVar26 && !bVar28)" (( "(") (binary_expression "!bVar26 && !bVar28" (unary_expression "!bVar26" (! "!") (identifier "bVar26")) (&& "&&") (unary_expression "!bVar28" (! "!") (identifier "bVar28"))) () ")")) (== "==") (identifier "bVar26"))) (; ";")) (if_statement "if (bVar26) goto LAB_0009d930;" (if "if") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (goto_statement "goto LAB_0009d930;" (goto "goto") (statement_identifier "LAB_0009d930") (; ";"))) (expression_statement "iVar11 = 0xb;" (assignment_expression "iVar11 = 0xb" (identifier "iVar11") (= "=") (number_literal "0xb")) (; ";")) (expression_statement "pbVar13 = pbVar21;" (assignment_expression "pbVar13 = pbVar21" (identifier "pbVar13") (= "=") (identifier "pbVar21")) (; ";")) (expression_statement "pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);" (assignment_expression "pbVar25 = (byte *)((int)local_94 + -0x1a1f9b)" (identifier "pbVar25") (= "=") (cast_expression "(byte *)((int)local_94 + -0x1a1f9b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + -0x1a1f9b)" (( "(") (binary_expression "(int)local_94 + -0x1a1f9b" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x1a1f9b")) () ")")))) (; ";")) (do_statement "do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                } while (bVar26);" (do "do") (compound_statement "{\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar27 = *pbVar13 < *pbVar25;\n                  bVar26 = *pbVar13 == *pbVar25;\n                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;\n                }" ({ "{") (if_statement "if (iVar11 == 0) break;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + -1" (identifier "iVar11") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar27 = *pbVar13 < *pbVar25;" (assignment_expression "bVar27 = *pbVar13 < *pbVar25" (identifier "bVar27") (= "=") (binary_expression "*pbVar13 < *pbVar25" (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")) (< "<") (pointer_expression "*pbVar25" (* "*") (identifier "pbVar25")))) (; ";")) (expression_statement "bVar26 = *pbVar13 == *pbVar25;" (assignment_expression "bVar26 = *pbVar13 == *pbVar25" (identifier "bVar26") (= "=") (binary_expression "*pbVar13 == *pbVar25" (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")) (== "==") (pointer_expression "*pbVar25" (* "*") (identifier "pbVar25")))) (; ";")) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" (identifier "pbVar13") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1" (identifier "pbVar25") (= "=") (binary_expression "pbVar25 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar25 + (uint)bVar29 * -2" (identifier "pbVar25") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" (identifier "bVar28") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = (!bVar27 && !bVar26) == bVar27;" (assignment_expression "bVar26 = (!bVar27 && !bVar26) == bVar27" (identifier "bVar26") (= "=") (binary_expression "(!bVar27 && !bVar26) == bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" (( "(") (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" (! "!") (identifier "bVar27")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (== "==") (identifier "bVar27"))) (; ";")) (if_statement "if (!bVar26) {\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }" (if "if") (parenthesized_expression "(!bVar26)" (( "(") (unary_expression "!bVar26" (! "!") (identifier "bVar26")) () ")")) (compound_statement "{\n                  iVar11 = 0x17;\n                  pbVar13 = pbVar21;\n                  ppuVar17 = local_94 + -0x687e4;\n                  do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);\n                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));\n                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;\n                  bVar26 = (!bVar28 && !bVar26) == bVar28;\n                  if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }\n                  goto LAB_0009d943;\n                }" ({ "{") (expression_statement "iVar11 = 0x17;" (assignment_expression "iVar11 = 0x17" (identifier "iVar11") (= "=") (number_literal "0x17")) (; ";")) (expression_statement "pbVar13 = pbVar21;" (assignment_expression "pbVar13 = pbVar21" (identifier "pbVar13") (= "=") (identifier "pbVar21")) (; ";")) (expression_statement "ppuVar17 = local_94 + -0x687e4;" (assignment_expression "ppuVar17 = local_94 + -0x687e4" (identifier "ppuVar17") (= "=") (binary_expression "local_94 + -0x687e4" (identifier "local_94") (+ "+") (number_literal "-0x687e4"))) (; ";")) (do_statement "do {\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  } while (bVar26);" (do "do") (compound_statement "{\n                    if (iVar11 == 0) break;\n                    iVar11 = iVar11 + -1;\n                    bVar28 = *pbVar13 < *(byte *)ppuVar17;\n                    bVar26 = *pbVar13 == *(byte *)ppuVar17;\n                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);\n                  }" ({ "{") (if_statement "if (iVar11 == 0) break;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + -1" (identifier "iVar11") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar28 = *pbVar13 < *(byte *)ppuVar17;" (assignment_expression "bVar28 = *pbVar13 < *(byte *)ppuVar17" (identifier "bVar28") (= "=") (binary_expression "*pbVar13 < *(byte *)ppuVar17" (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")) (< "<") (pointer_expression "*(byte *)ppuVar17" (* "*") (cast_expression "(byte *)ppuVar17" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar17"))))) (; ";")) (expression_statement "bVar26 = *pbVar13 == *(byte *)ppuVar17;" (assignment_expression "bVar26 = *pbVar13 == *(byte *)ppuVar17" (identifier "bVar26") (= "=") (binary_expression "*pbVar13 == *(byte *)ppuVar17" (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")) (== "==") (pointer_expression "*(byte *)ppuVar17" (* "*") (cast_expression "(byte *)ppuVar17" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar17"))))) (; ";")) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" (identifier "pbVar13") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);" (assignment_expression "ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" (identifier "ppuVar17") (= "=") (cast_expression "(undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar17 + (uint)bVar29 * -2 + 1)" (( "(") (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2 + 1" (binary_expression "(int)ppuVar17 + (uint)bVar29 * -2" (cast_expression "(int)ppuVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar17")) (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" (identifier "local_9c") (= "=") (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" (identifier "CONCAT31") (argument_list "(local_9c._1_3_,*(code *)((int)local_90 + 0x29))" (( "(") (field_expression "local_9c._1_3_" (identifier "local_9c") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(code *)((int)local_90 + 0x29)" (* "*") (cast_expression "(code *)((int)local_90 + 0x29)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x29)" (( "(") (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x29")) () ")")))) () ")"))))) (; ";")) (expression_statement "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;" (assignment_expression "bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3" (identifier "bVar24") (= "=") (binary_expression "(byte)*(code *)((int)local_90 + 0x29) & 3" (binary_expression "(byte)*(code *)((int)local_90 + 0x29)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)((int)local_90 + 0x29)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x29)" (( "(") (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x29")) () ")")))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "bVar26 = (!bVar28 && !bVar26) == bVar28;" (assignment_expression "bVar26 = (!bVar28 && !bVar26) == bVar28" (identifier "bVar26") (= "=") (binary_expression "(!bVar28 && !bVar26) == bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" (( "(") (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" (! "!") (identifier "bVar28")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (== "==") (identifier "bVar28"))) (; ";")) (if_statement "if ((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }" (if "if") (parenthesized_expression "((!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26))" (( "(") (binary_expression "(!bVar26) ||\n                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)" (parenthesized_expression "(!bVar26)" (( "(") (unary_expression "!bVar26" (! "!") (identifier "bVar26")) () ")")) (|| "||") (parenthesized_expression "(bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)" (( "(") (comma_expression "bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26" (assignment_expression "bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0" (identifier "bVar26") (= "=") (binary_expression "((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0" (parenthesized_expression "((byte)*(code *)((int)local_90 + 0x2b) & 1)" (( "(") (binary_expression "(byte)*(code *)((int)local_90 + 0x2b) & 1" (binary_expression "(byte)*(code *)((int)local_90 + 0x2b)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)((int)local_90 + 0x2b)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2b)" (( "(") (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0"))) (, ",") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")"))) () ")")) (compound_statement "{\n                    bVar28 = false;\n                    iVar11 = 0x16;\n                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);\n                    do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);\n                    if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;\n                  }" ({ "{") (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" (identifier "bVar28") (= "=") (false "false")) (; ";")) (expression_statement "iVar11 = 0x16;" (assignment_expression "iVar11 = 0x16" (identifier "iVar11") (= "=") (number_literal "0x16")) (; ";")) (expression_statement "pbVar13 = (byte *)((int)local_94 + -0x1a1f79);" (assignment_expression "pbVar13 = (byte *)((int)local_94 + -0x1a1f79)" (identifier "pbVar13") (= "=") (cast_expression "(byte *)((int)local_94 + -0x1a1f79)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + -0x1a1f79)" (( "(") (binary_expression "(int)local_94 + -0x1a1f79" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x1a1f79")) () ")")))) (; ";")) (do_statement "do {\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    } while (bVar26);" (do "do") (compound_statement "{\n                      if (iVar11 == 0) break;\n                      iVar11 = iVar11 + -1;\n                      bVar28 = *pbVar21 < *pbVar13;\n                      bVar26 = *pbVar21 == *pbVar13;\n                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;\n                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;\n                    }" ({ "{") (if_statement "if (iVar11 == 0) break;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + -1" (identifier "iVar11") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar28 = *pbVar21 < *pbVar13;" (assignment_expression "bVar28 = *pbVar21 < *pbVar13" (identifier "bVar28") (= "=") (binary_expression "*pbVar21 < *pbVar13" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (< "<") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")))) (; ";")) (expression_statement "bVar26 = *pbVar21 == *pbVar13;" (assignment_expression "bVar26 = *pbVar21 == *pbVar13" (identifier "bVar26") (= "=") (binary_expression "*pbVar21 == *pbVar13" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (== "==") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar29 * -2" (identifier "pbVar21") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar29 * -2" (identifier "pbVar13") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (if_statement "if (((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;" (if "if") (parenthesized_expression "(((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0'))" (( "(") (binary_expression "((!bVar28 && !bVar26) != bVar28) ||\n                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')" (parenthesized_expression "((!bVar28 && !bVar26) != bVar28)" (( "(") (binary_expression "(!bVar28 && !bVar26) != bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" (( "(") (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" (! "!") (identifier "bVar28")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (!= "!=") (identifier "bVar28")) () ")")) (|| "||") (parenthesized_expression "((char)*(code *)((int)local_90 + 0x2a) < '\0')" (( "(") (binary_expression "(char)*(code *)((int)local_90 + 0x2a) < '\0'" (cast_expression "(char)*(code *)((int)local_90 + 0x2a)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(code *)((int)local_90 + 0x2a)" (* "*") (cast_expression "(code *)((int)local_90 + 0x2a)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2a)" (( "(") (binary_expression "(int)local_90 + 0x2a" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2a")) () ")"))))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_0009d85a;" (goto "goto") (statement_identifier "LAB_0009d85a") (; ";"))) (} "}"))) (goto_statement "goto LAB_0009d943;" (goto "goto") (statement_identifier "LAB_0009d943") (; ";")) (} "}"))) (labeled_statement "LAB_0009d874:\n                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;" (statement_identifier "LAB_0009d874") (: ":") (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_c4 >> 0x1f" (cast_expression "(int)local_c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c4")) (>> ">>") (number_literal "0x1f"))) (; ";"))) (expression_statement "*(uint *)(puVar22 + -0x14) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -0x14) = local_c4" (pointer_expression "*(uint *)(puVar22 + -0x14)" (* "*") (cast_expression "(uint *)(puVar22 + -0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_c4")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x18) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x18) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x18)" (* "*") (cast_expression "(int *)(puVar22 + -0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x18)" (( "(") (binary_expression "puVar22 + -0x18" (identifier "puVar22") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "local_b4")) (; ";")) (expression_statement "*(undefined4 **)(puVar22 + -0x1c) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x1c) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x1c)" (* "*") (cast_expression "(undefined4 **)(puVar22 + -0x1c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x1c)" (( "(") (binary_expression "puVar22 + -0x1c" (identifier "puVar22") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined ***)(puVar22 + -0x20) = local_90;" (assignment_expression "*(undefined ***)(puVar22 + -0x20) = local_90" (pointer_expression "*(undefined ***)(puVar22 + -0x20)" (* "*") (cast_expression "(undefined ***)(puVar22 + -0x20)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x20)" (( "(") (binary_expression "puVar22 + -0x20" (identifier "puVar22") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_90")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9d89a;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9d89a" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x24)" (( "(") (binary_expression "puVar22 + -0x24" (identifier "puVar22") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x9d89a")) (; ";")) (expression_statement "FUN_0023c700();" (call_expression "FUN_0023c700()" (identifier "FUN_0023c700") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "cVar19 = *(code *)((int)local_90 + 0x2b);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x2b)" (identifier "cVar19") (= "=") (pointer_expression "*(code *)((int)local_90 + 0x2b)" (* "*") (cast_expression "(code *)((int)local_90 + 0x2b)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2b)" (( "(") (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2b")) () ")"))))) (; ";")) (expression_statement "ppuVar17 = local_90;" (assignment_expression "ppuVar17 = local_90" (identifier "ppuVar17") (= "=") (identifier "local_90")) (; ";")) (} "}")) (else_clause "else {\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }" (else "else") (compound_statement "{\n                if (bVar24 == 4) goto LAB_0009d63d;\nLAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);\n                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);\n                bVar24 = (byte)cVar8 & 3;\n                if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }\nLAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);\n                ppuVar17 = local_90;\n              }" ({ "{") (if_statement "if (bVar24 == 4) goto LAB_0009d63d;" (if "if") (parenthesized_expression "(bVar24 == 4)" (( "(") (binary_expression "bVar24 == 4" (identifier "bVar24") (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_0009d63d;" (goto "goto") (statement_identifier "LAB_0009d63d") (; ";"))) (labeled_statement "LAB_0009d6b0:\n                cVar8 = *(code *)((int)local_90 + 0x29);" (statement_identifier "LAB_0009d6b0") (: ":") (expression_statement "cVar8 = *(code *)((int)local_90 + 0x29);" (assignment_expression "cVar8 = *(code *)((int)local_90 + 0x29)" (identifier "cVar8") (= "=") (pointer_expression "*(code *)((int)local_90 + 0x29)" (* "*") (cast_expression "(code *)((int)local_90 + 0x29)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x29)" (( "(") (binary_expression "(int)local_90 + 0x29" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x29")) () ")"))))) (; ";"))) (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8)" (identifier "local_9c") (= "=") (cast_expression "(byte **)CONCAT31(local_9c._1_3_,cVar8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_9c._1_3_,cVar8)" (identifier "CONCAT31") (argument_list "(local_9c._1_3_,cVar8)" (( "(") (field_expression "local_9c._1_3_" (identifier "local_9c") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "cVar8") () ")"))))) (; ";")) (expression_statement "bVar24 = (byte)cVar8 & 3;" (assignment_expression "bVar24 = (byte)cVar8 & 3" (identifier "bVar24") (= "=") (binary_expression "(byte)cVar8 & 3" (cast_expression "(byte)cVar8" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar8")) (& "&") (number_literal "3"))) (; ";")) (if_statement "if (((byte)cVar8 & 3) != 0) {\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }" (if "if") (parenthesized_expression "(((byte)cVar8 & 3) != 0)" (( "(") (binary_expression "((byte)cVar8 & 3) != 0" (parenthesized_expression "((byte)cVar8 & 3)" (( "(") (binary_expression "(byte)cVar8 & 3" (cast_expression "(byte)cVar8" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar8")) (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  bVar18 = (byte)cVar19 & 7;\nLAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }\n                }" ({ "{") (expression_statement "bVar18 = (byte)cVar19 & 7;" (assignment_expression "bVar18 = (byte)cVar19 & 7" (identifier "bVar18") (= "=") (binary_expression "(byte)cVar19 & 7" (cast_expression "(byte)cVar19" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar19")) (& "&") (number_literal "7"))) (; ";")) (labeled_statement "LAB_0009d6cc:\n                  if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }" (statement_identifier "LAB_0009d6cc") (: ":") (if_statement "if (bVar18 == 4) {\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }" (if "if") (parenthesized_expression "(bVar18 == 4)" (( "(") (binary_expression "bVar18 == 4" (identifier "bVar18") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));\n                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;\nLAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);\n                    if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }\n                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;\n                    if (bVar18 == 0) goto LAB_0009d312;\n                  }" ({ "{") (expression_statement "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));" (assignment_expression "local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" (identifier "local_9c") (= "=") (cast_expression "(byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10))" (identifier "CONCAT31") (argument_list "(local_9c._1_3_,*(code *)(local_90 + 10))" (( "(") (field_expression "local_9c._1_3_" (identifier "local_9c") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(code *)(local_90 + 10)" (* "*") (cast_expression "(code *)(local_90 + 10)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_90 + 10)" (( "(") (binary_expression "local_90 + 10" (identifier "local_90") (+ "+") (number_literal "10")) () ")")))) () ")"))))) (; ";")) (if_statement "if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;" (if "if") (parenthesized_expression "(((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0))" (( "(") (binary_expression "((byte)*(code *)(local_90 + 10) >> 4 == 2) ||\n                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)" (parenthesized_expression "((byte)*(code *)(local_90 + 10) >> 4 == 2)" (( "(") (binary_expression "(byte)*(code *)(local_90 + 10) >> 4 == 2" (binary_expression "(byte)*(code *)(local_90 + 10) >> 4" (binary_expression "(byte)*(code *)(local_90 + 10)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(code *)(local_90 + 10)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_90 + 10)" (( "(") (binary_expression "local_90 + 10" (identifier "local_90") (+ "+") (number_literal "10")) () ")")))) (>> ">>") (number_literal "4")) (== "==") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)" (( "(") (comma_expression "bVar18 = 4, ((uint)local_90[0xb] & 2) != 0" (assignment_expression "bVar18 = 4" (identifier "bVar18") (= "=") (number_literal "4")) (, ",") (binary_expression "((uint)local_90[0xb] & 2) != 0" (parenthesized_expression "((uint)local_90[0xb] & 2)" (( "(") (binary_expression "(uint)local_90[0xb] & 2" (cast_expression "(uint)local_90[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_90[0xb]" (identifier "local_90") ([ "[") (number_literal "0xb") (] "]"))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0009d380;" (goto "goto") (statement_identifier "LAB_0009d380") (; ";"))) (labeled_statement "LAB_0009d701:\n                    ppuVar17 = *(undefined ***)(*local_dc + 8);" (statement_identifier "LAB_0009d701") (: ":") (expression_statement "ppuVar17 = *(undefined ***)(*local_dc + 8);" (assignment_expression "ppuVar17 = *(undefined ***)(*local_dc + 8)" (identifier "ppuVar17") (= "=") (pointer_expression "*(undefined ***)(*local_dc + 8)" (* "*") (cast_expression "(undefined ***)(*local_dc + 8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*local_dc + 8)" (( "(") (binary_expression "*local_dc + 8" (pointer_expression "*local_dc" (* "*") (identifier "local_dc")) (+ "+") (number_literal "8")) () ")"))))) (; ";"))) (if_statement "if (ppuVar17 == (undefined **)0x0) {\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }" (if "if") (parenthesized_expression "(ppuVar17 == (undefined **)0x0)" (( "(") (binary_expression "ppuVar17 == (undefined **)0x0" (identifier "ppuVar17") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                      *(undefined ***)(puVar22 + -4) = ppuVar20;\n                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;\n                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;\n                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;\n                    \n                    \n                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;\n                      FUN_002446e0();\n                    }" ({ "{") (expression_statement "*(undefined ***)(puVar22 + -4) = ppuVar20;" (assignment_expression "*(undefined ***)(puVar22 + -4) = ppuVar20" (pointer_expression "*(undefined ***)(puVar22 + -4)" (* "*") (cast_expression "(undefined ***)(puVar22 + -4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -4)" (( "(") (binary_expression "puVar22 + -4" (identifier "puVar22") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "ppuVar20")) (; ";")) (expression_statement "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;" (assignment_expression "*(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf" (pointer_expression "*(undefined ***)(puVar22 + -8)" (* "*") (cast_expression "(undefined ***)(puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_94 + -0x64ebf" (identifier "local_94") (+ "+") (number_literal "-0x64ebf"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;" (assignment_expression "*(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_94 + -0x1a1d93" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "-0x1a1d93"))) (; ";")) (expression_statement "*(undefined **)(puVar22 + -0x14) = &UNK_0009f171;" (assignment_expression "*(undefined **)(puVar22 + -0x14) = &UNK_0009f171" (pointer_expression "*(undefined **)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0009f171" (& "&") (identifier "UNK_0009f171"))) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;" (if "if") (parenthesized_expression "(*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0)" (( "(") (binary_expression "*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0" (pointer_expression "*(code *)((int)ppuVar17 + 0x49b1)" (* "*") (cast_expression "(code *)((int)ppuVar17 + 0x49b1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar17 + 0x49b1)" (( "(") (binary_expression "(int)ppuVar17 + 0x49b1" (cast_expression "(int)ppuVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar17")) (+ "+") (number_literal "0x49b1")) () ")")))) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0009d321;" (goto "goto") (statement_identifier "LAB_0009d321") (; ";"))) (if_statement "if (bVar18 == 0) goto LAB_0009d312;" (if "if") (parenthesized_expression "(bVar18 == 0)" (( "(") (binary_expression "bVar18 == 0" (identifier "bVar18") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009d312;" (goto "goto") (statement_identifier "LAB_0009d312") (; ";"))) (} "}")))) (} "}"))) (labeled_statement "LAB_0009d380:\n                cVar19 = *(code *)((int)local_90 + 0x2b);" (statement_identifier "LAB_0009d380") (: ":") (expression_statement "cVar19 = *(code *)((int)local_90 + 0x2b);" (assignment_expression "cVar19 = *(code *)((int)local_90 + 0x2b)" (identifier "cVar19") (= "=") (pointer_expression "*(code *)((int)local_90 + 0x2b)" (* "*") (cast_expression "(code *)((int)local_90 + 0x2b)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + 0x2b)" (( "(") (binary_expression "(int)local_90 + 0x2b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "0x2b")) () ")"))))) (; ";"))) (expression_statement "ppuVar17 = local_90;" (assignment_expression "ppuVar17 = local_90" (identifier "ppuVar17") (= "=") (identifier "local_90")) (; ";")) (} "}")))) (expression_statement "local_90 = ppuVar17;" (assignment_expression "local_90 = ppuVar17" (identifier "local_90") (= "=") (identifier "ppuVar17")) (; ";")) (if_statement "if (((byte)cVar19 & 4) != 0) {\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }" (if "if") (parenthesized_expression "(((byte)cVar19 & 4) != 0)" (( "(") (binary_expression "((byte)cVar19 & 4) != 0" (parenthesized_expression "((byte)cVar19 & 4)" (( "(") (binary_expression "(byte)cVar19 & 4" (cast_expression "(byte)cVar19" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar19")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;\n                *(uint *)(puVar22 + -0x10) = local_c4;\n                *(int *)(puVar22 + -0x14) = local_b4;\n                local_90 = (undefined **)*param_2;\n                *(undefined4 **)(puVar22 + -0x18) = param_2;\n                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;\n                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;\n                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;\n                FUN_003509b0();\n              }" ({ "{") (expression_statement "*(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;" (assignment_expression "*(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f" (pointer_expression "*(int *)(puVar22 + -0xc)" (* "*") (cast_expression "(int *)(puVar22 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "(int)local_c4 >> 0x1f" (cast_expression "(int)local_c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c4")) (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "*(uint *)(puVar22 + -0x10) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -0x10) = local_c4" (pointer_expression "*(uint *)(puVar22 + -0x10)" (* "*") (cast_expression "(uint *)(puVar22 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_c4")) (; ";")) (expression_statement "*(int *)(puVar22 + -0x14) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x14) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x14)" (* "*") (cast_expression "(int *)(puVar22 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_b4")) (; ";")) (expression_statement "local_90 = (undefined **)*param_2;" (assignment_expression "local_90 = (undefined **)*param_2" (identifier "local_90") (= "=") (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 **)(puVar22 + -0x18) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x18) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x18)" (* "*") (cast_expression "(undefined4 **)(puVar22 + -0x18)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x18)" (( "(") (binary_expression "puVar22 + -0x18" (identifier "puVar22") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined ***)(puVar22 + -0x1c) = ppuVar17;" (assignment_expression "*(undefined ***)(puVar22 + -0x1c) = ppuVar17" (pointer_expression "*(undefined ***)(puVar22 + -0x1c)" (* "*") (cast_expression "(undefined ***)(puVar22 + -0x1c)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x1c)" (( "(") (binary_expression "puVar22 + -0x1c" (identifier "puVar22") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "ppuVar17")) (; ";")) (expression_statement "*(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;" (assignment_expression "*(undefined ***)(puVar22 + -0x20) = local_90 + 0x40" (pointer_expression "*(undefined ***)(puVar22 + -0x20)" (* "*") (cast_expression "(undefined ***)(puVar22 + -0x20)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x20)" (( "(") (binary_expression "puVar22 + -0x20" (identifier "puVar22") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (binary_expression "local_90 + 0x40" (identifier "local_90") (+ "+") (number_literal "0x40"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9d8e4" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x24)" (( "(") (binary_expression "puVar22 + -0x24" (identifier "puVar22") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x9d8e4")) (; ";")) (expression_statement "FUN_003509b0();" (call_expression "FUN_003509b0()" (identifier "FUN_003509b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }" (else "else") (compound_statement "{\nLAB_0009dd10:\n            local_78 = param_4;\n            if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }\n            local_74 = '\0';\n          }" ({ "{") (labeled_statement "LAB_0009dd10:\n            local_78 = param_4;" (statement_identifier "LAB_0009dd10") (: ":") (expression_statement "local_78 = param_4;" (assignment_expression "local_78 = param_4" (identifier "local_78") (= "=") (identifier "param_4")) (; ";"))) (if_statement "if (local_b8 != 0x3a) {\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }" (if "if") (parenthesized_expression "(local_b8 != 0x3a)" (( "(") (binary_expression "local_b8 != 0x3a" (identifier "local_b8") (!= "!=") (number_literal "0x3a")) () ")")) (compound_statement "{\n              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;\n              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;\n              uVar15 = gettext();\n              uVar9 = *local_78;\n              *(undefined4 *)(puVar22 + -0x10) = uVar15;\n              *(undefined4 *)(puVar22 + -0x14) = 0;\n              *(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n              *(int *)(puVar22 + -0x1c) = local_b4;\n              *(undefined4 **)(puVar22 + -0x20) = param_2;\n              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;\n              FUN_0023be30();\n              goto LAB_0009cdf2;\n            }" ({ "{") (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_94 + -0x671be" (identifier "local_94") (+ "+") (number_literal "-0x671be"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9dd30;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9dd30" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9dd30")) (; ";")) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" (identifier "uVar15") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar9 = *local_78;" (assignment_expression "uVar9 = *local_78" (identifier "uVar9") (= "=") (pointer_expression "*local_78" (* "*") (identifier "local_78"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "*(uint *)(puVar22 + -0x18) =\n                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (pointer_expression "*(uint *)(puVar22 + -0x18)" (* "*") (cast_expression "(uint *)(puVar22 + -0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x18)" (( "(") (binary_expression "puVar22 + -0x18" (identifier "puVar22") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar9 << 0x18" (identifier "uVar9") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "*(int *)(puVar22 + -0x1c) = local_b4;" (assignment_expression "*(int *)(puVar22 + -0x1c) = local_b4" (pointer_expression "*(int *)(puVar22 + -0x1c)" (* "*") (cast_expression "(int *)(puVar22 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x1c)" (( "(") (binary_expression "puVar22 + -0x1c" (identifier "puVar22") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "local_b4")) (; ";")) (expression_statement "*(undefined4 **)(puVar22 + -0x20) = param_2;" (assignment_expression "*(undefined4 **)(puVar22 + -0x20) = param_2" (pointer_expression "*(undefined4 **)(puVar22 + -0x20)" (* "*") (cast_expression "(undefined4 **)(puVar22 + -0x20)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0x20)" (( "(") (binary_expression "puVar22 + -0x20" (identifier "puVar22") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;" (assignment_expression "*(undefined4 *)(puVar22 + -0x24) = 0x9dd4e" (pointer_expression "*(undefined4 *)(puVar22 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x24)" (( "(") (binary_expression "puVar22 + -0x24" (identifier "puVar22") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x9dd4e")) (; ";")) (expression_statement "FUN_0023be30();" (call_expression "FUN_0023be30()" (identifier "FUN_0023be30") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0009cdf2;" (goto "goto") (statement_identifier "LAB_0009cdf2") (; ";")) (} "}"))) (expression_statement "local_74 = '\0';" (assignment_expression "local_74 = '\0'" (identifier "local_74") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}")))) (} "}")))) (expression_statement "*(byte ***)(puVar22 + -0x10) = local_d0;" (assignment_expression "*(byte ***)(puVar22 + -0x10) = local_d0" (pointer_expression "*(byte ***)(puVar22 + -0x10)" (* "*") (cast_expression "(byte ***)(puVar22 + -0x10)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_d0")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d39e;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d39e" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9d39e")) (; ";")) (expression_statement "FUN_00072240();" (call_expression "FUN_00072240()" (identifier "FUN_00072240") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(byte ***)(puVar22 + -0x10) = local_bc;" (assignment_expression "*(byte ***)(puVar22 + -0x10) = local_bc" (pointer_expression "*(byte ***)(puVar22 + -0x10)" (* "*") (cast_expression "(byte ***)(puVar22 + -0x10)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_bc")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9d3aa" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9d3aa")) (; ";")) (expression_statement "FUN_00072240();" (call_expression "FUN_00072240()" (identifier "FUN_00072240") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }" (else "else") (compound_statement "{\n        *(uint *)(puVar22 + -4) = local_c4;\n        *(undefined4 *)(puVar22 + -8) = param_2[6];\n        *(undefined4 *)(puVar22 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar22 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;\n        local_c4 = FUN_002cda80();\n        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;\n      }" ({ "{") (expression_statement "*(uint *)(puVar22 + -4) = local_c4;" (assignment_expression "*(uint *)(puVar22 + -4) = local_c4" (pointer_expression "*(uint *)(puVar22 + -4)" (* "*") (cast_expression "(uint *)(puVar22 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -4)" (( "(") (binary_expression "puVar22 + -4" (identifier "puVar22") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "local_c4")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -8) = param_2[6];" (assignment_expression "*(undefined4 *)(puVar22 + -8) = param_2[6]" (pointer_expression "*(undefined4 *)(puVar22 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0xc) = param_2[2];" (assignment_expression "*(undefined4 *)(puVar22 + -0xc) = param_2[2]" (pointer_expression "*(undefined4 *)(puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = param_6;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = param_6" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_6")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9dff8;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9dff8" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9dff8")) (; ";")) (expression_statement "local_c4 = FUN_002cda80();" (assignment_expression "local_c4 = FUN_002cda80()" (identifier "local_c4") (= "=") (call_expression "FUN_002cda80()" (identifier "FUN_002cda80") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (local_c4 != 0xffffffff) goto LAB_0009cc8a;" (if "if") (parenthesized_expression "(local_c4 != 0xffffffff)" (( "(") (binary_expression "local_c4 != 0xffffffff" (identifier "local_c4") (!= "!=") (number_literal "0xffffffff")) () ")")) (goto_statement "goto LAB_0009cc8a;" (goto "goto") (statement_identifier "LAB_0009cc8a") (; ";"))) (} "}")))) (expression_statement "local_b4 = local_b4 + 1;" (assignment_expression "local_b4 = local_b4 + 1" (identifier "local_b4") (= "=") (binary_expression "local_b4 + 1" (identifier "local_b4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "param_4 = param_4 + 3;" (assignment_expression "param_4 = param_4 + 3" (identifier "param_4") (= "=") (binary_expression "param_4 + 3" (identifier "param_4") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "puVar6 = puVar22;" (assignment_expression "puVar6 = puVar22" (identifier "puVar6") (= "=") (identifier "puVar22")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_5 != local_b4)" (( "(") (binary_expression "param_5 != local_b4" (identifier "param_5") (!= "!=") (identifier "local_b4")) () ")")) (; ";")) (} "}"))) (if_statement "if (local_74 == '\0') {\n    return;\n  }" (if "if") (parenthesized_expression "(local_74 == '\0')" (( "(") (binary_expression "local_74 == '\0'" (identifier "local_74") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_94 + -0x671be" (identifier "local_94") (+ "+") (number_literal "-0x671be"))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f087;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f087" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f087")) (; ";")) (expression_statement "uVar15 = gettext();" (assignment_expression "uVar15 = gettext()" (identifier "uVar15") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x9f08f;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x9f08f" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x9f08f")) (; ";")) (expression_statement "FUN_0023b810();" (call_expression "FUN_0023b810()" (identifier "FUN_0023b810") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Removing unreachable block (ram,0x0009dd10) */
/* WARNING: Removing unreachable block (ram,0x0009dd19) */
/* WARNING: Removing unreachable block (ram,0x0009dd60) */
/* WARNING: Removing unreachable block (ram,0x0009f070) */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void relocate_section(Target_sparc<32,_true> * this,
   Relocate_info<32,_true> * 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_484c35::var_65<32,var_25>::relocate_section
          (var_65<32,var_25> *this,var_46<32,var_25> *relinfo,type_8 var_9,type_15 *var_15
          ,size_t var_12,type_27 *output_section,bool needs_special_offset_handling,
          type_15 *var_61,type_16 address,section_size_type var_57,
          type_18 *var_18)

{
  type_1 **pp_Var1;
  type_1 *var_82;
  type_2 *var_78;
  type_3 *pcVar4;
  var_1<32,var_25> *pSVar5;
  int var_66;
  type_4 var_24;
  type_4 ppOVar8;
  type_4 ppSVar9;
  type_4 pcVar10;
  type_5 var_72;
  type_6 *puVar12;
  bool var_37;
  type_7 var_69;
  char var_83;
  type_8 var_13;
  type_9 *var_77;
  var_2<32,var_25> *pOVar18;
  type_10 uVar19;
  int var_34;
  type_11 var_43;
  type_12 VVar22;
  int var_67;
  type_8 var_23;
  type_13 *var_56;
  type_10 uVar26;
  char *pcVar27;
  type_7 var_80;
  type_2 *var_86;
  type_10 extraout_ECX;
  type_2 *extraout_ECX_00;
  type_7 var_29;
  type_9 *var_76;
  type_2 *var_79;
  type_10 *var_60;
  type_10 *puVar34;
  type_7 *var_36;
  type_7 *var_35;
  type_7 *var_84;
  type_14 **ppuVar38;
  bool var_38;
  bool var_39;
  type_7 bVar41;
  size_t asStack_114 [5];
  type_8 local_100;
  type_6 auStack_ec [12];
  type_2 *local_e0;
  type_2 *local_dc;
  type_8 var_17;
  char var_14;
  var_3<32> *local_d0;
  var_1<32,var_25> *local_cc;
  int local_c8;
  type_8 var_58;
  int var_33;
  var_3<32> *local_bc;
  type_8 var_62;
  size_t var_90;
  var_3<32> *local_b0;
  type_8 local_ac;
  int local_a8;
  var_1<32,var_25> *var_26;
  type_15 *var_16;
  var_3<32> *local_9c;
  int local_98;
  type_14 **var_11;
  type_2 *var_22;
  bool is_ordinary;
  type_16 var_68;
  type_8 var_54;
  var_4<32,var_25> var_5;
  type_17 relocate;
  var_3<32> var_6;
  var_3<32> var_7;
  var_3<32> var_8;
  bool var_41;
  type_6 var_50 [28];
  
  bVar41 = 0;
  var_11 = &_GLOBAL_OFFSET_TABLE_;
  var_14 = needs_special_offset_handling;
  if (var_9 != 4) {
                    /* WARNING: Subroutine does not return */
    gold::var_10("../../gold/sparc.cc",0x10a1,"relocate_section");
  }
  local_cc = relinfo->object;
  pp_Var1 = (local_cc->super_Sized_relobj<32,var_25>).super_Relobj.super_Object._vptr_Object;
  var_82 = pp_Var1[0x23];
  if (var_82 == var_19::type_13::local_symbol_count) {
                    /* try { // try from 0009cc27 to 0009cc2c has its CatchHandler @ 0009f51d */
    var_17 = (*pp_Var1[0x2f])(local_cc);
  }
  else {
                    /* try { // try from 0009f0c1 to 0009f0c2 has its CatchHandler @ 0009f51d */
    var_17 = (*var_82)(local_cc);
  }
  puVar34 = (type_10 *)auStack_ec;
  var_33 = 0;
  var_90 = 0;
  local_dc = (type_2 *)(var_11 + 0x1f2);
  local_e0 = (type_2 *)(var_11 + 0x1f2);
  if (var_12 != 0) {
    do {
      var_13 = *(type_8 *)var_15;
      var_58 = var_13 >> 0x18 | (var_13 & 0xff0000) >> 8 | (var_13 & 0xff00) << 8 | var_13 << 0x18
      ;
      if (var_14 == '\0') {
LAB_0009cc8a:
        var_13 = *(type_8 *)(var_15 + 4);
        var_6.output_symtab_index_ = 0;
        var_6.output_dynsym_index_ = 0xffffffff;
        var_13 = var_13 >> 0x18 | (var_13 & 0xff0000) >> 8 | (var_13 & 0xff00) << 8 | var_13 << 0x18
        ;
        var_6._8_4_ = 0x80000000;
        var_16 = (type_15 *)(var_13 >> 8);
        var_6.u_.var_68 = 0;
        if (var_16 < var_17) {
          if ((var_18 != (type_18 *)0x0) &&
             (var_22 = (type_2 *)
                         (var_18->vec_).
                         super__Vector_base<var_19::type_19*,var_20::var_30<var_19::type_19*>var_21>._M_impl.
                         _M_start[var_90], var_22 != (type_2 *)0x0)) {
LAB_0009ccec:
            var_23 = var_22->output_count_;
            var_13 = var_23 - 1;
            if (0xfffffffd < var_13) goto LAB_0009cd01;
LAB_0009e020:
            if (var_13 == 0xfffffffd) {
              *(type_14 ***)((int)puVar34 + -8) = var_11 + -0x650dd;
              *(type_10 *)((int)puVar34 + -0xc) = 0x70d;
              *(int *)((int)puVar34 + -0x10) = (int)var_11 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */
              *(type_10 *)((int)puVar34 + -0x14) = 0x9f318;
              gold::var_10
                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),
                         *(char **)((int)puVar34 + -8));
            }
            var_6.output_symtab_index_ = var_23;
            goto LAB_0009cd08;
          }
          var_24 = (local_cc->local_values_).
                   super__Vector_base<var_19::var_3<32>,var_20::var_30<var_19::var_3<32>var_21>var_21>
                   ._M_impl._M_start;
          var_22 = (type_2 *)
                     (local_cc->local_values_).
                     super__Vector_base<var_19::var_3<32>,var_20::var_30<var_19::var_3<32>var_21>var_21>
                     ._M_impl._M_finish;
          if ((type_8)((int)var_22 - (int)var_24 >> 4) <= var_16) {
            *(type_14 ***)((int)puVar34 + -8) = var_11 + -0x6509a;
            *(type_10 *)((int)puVar34 + -0xc) = 0x8c1;
            *(int *)((int)puVar34 + -0x10) = (int)var_11 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
            *(type_10 *)((int)puVar34 + -0x14) = 0x9f282;
            gold::var_10
                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),
                       *(char **)((int)puVar34 + -8));
          }
          local_9c = var_24 + (int)var_16;
          var_26 = (var_1<32,var_25> *)(*(type_8 *)&local_9c->field_0x8 & 0x7ffffff);
          if (((local_9c->field_0xb & 8) != 0) && (var_26 != (var_1<32,var_25> *)0x0))
          {
            var_22 = (type_2 *)
                       (local_cc->super_Sized_relobj<32,var_25>).super_Relobj.output_sections_.
                       super__Vector_base<var_19::type_27*,var_20::var_30<var_19::type_27*>var_21>
                       ._M_impl._M_finish;
            ppOVar8 = (local_cc->super_Sized_relobj<32,var_25>).super_Relobj.output_sections_.
                      super__Vector_base<var_19::type_27*,var_20::var_30<var_19::type_27*>var_21>
                      ._M_impl._M_start;
            if ((var_1<32,var_25> *)((int)var_22 - (int)ppOVar8 >> 2) <= var_26) {
              *(var_1<32,var_25> **)((int)puVar34 + -4) = local_cc;
              *(type_14 ***)((int)puVar34 + -8) = var_11 + -0x64eff;
              *(type_10 *)((int)puVar34 + -0xc) = 0x50b;
              *(int *)((int)puVar34 + -0x10) = (int)var_11 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */
              *(type_10 *)((int)puVar34 + -0x14) = 0x9f42b;
              gold::var_10
                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),
                         *(char **)((int)puVar34 + -8));
            }
            var_22 = (type_2 *)ppOVar8[(int)var_26];
            if (var_22 != (type_2 *)0x0) {
              var_22 = (type_2 *)0x0;
              local_bc = &var_6;
              goto LAB_0009cd80;
            }
            *(var_1<32,var_25> **)((int)puVar34 + -8) = var_26;
            *(var_1<32,var_25> **)((int)puVar34 + -0xc) = local_cc;
            *(type_2 **)((int)puVar34 + -0x10) = relinfo->symtab;
                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */
            *(type_10 *)((int)puVar34 + -0x14) = 0x9e2da;
            var_37 = var_19::Symbol_table::var_27
                               (*(type_2 **)((int)puVar34 + -0x10),
                                *(type_13 **)((int)puVar34 + -0xc),*(type_8 *)((int)puVar34 + -8));
            if (var_37) {
              local_bc = &var_6;
              var_13 = *(type_8 *)(var_15 + 4) >> 0x18;
              goto LAB_0009cd80;
            }
            goto LAB_0009d9f1;
          }
          var_22 = (type_2 *)0x0;
          local_bc = &var_6;
LAB_0009cd80:
          var_7.output_symtab_index_ = 0;
          var_7.output_dynsym_index_ = 0xffffffff;
          var_7._8_4_ = 0x80000000;
          var_7.u_.var_68 = 0;
          local_d0 = &var_7;
          var_60 = puVar34;
        }
        else {
          if ((var_18 != (type_18 *)0x0) &&
             (var_22 = (type_2 *)
                         (var_18->vec_).
                         super__Vector_base<var_19::type_19*,var_20::var_30<var_19::type_19*>var_21>._M_impl.
                         _M_start[var_90], var_22 != (type_2 *)0x0)) goto LAB_0009ccec;
          if (var_16 < local_cc->local_symbol_count_) {
LAB_0009f240:
            *(type_14 ***)((int)puVar34 + -8) = var_11 + -0x650d7;
            *(type_10 *)((int)puVar34 + -0xc) = 0x17f;
            *(int *)((int)puVar34 + -0x10) = (int)var_11 + -0x19cb27;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */
            *(type_10 *)((int)puVar34 + -0x14) = 0x9f261;
            gold::var_10
                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),
                       *(char **)((int)puVar34 + -8));
          }
          var_13 = (int)var_16 - local_cc->local_symbol_count_;
          ppSVar9 = (local_cc->symbols_).
                    super__Vector_base<var_19::type_19*,var_20::var_30<var_19::type_19*>var_21>._M_impl.
                    _M_start;
          var_22 = (type_2 *)
                     (local_cc->symbols_).
                     super__Vector_base<var_19::type_19*,var_20::var_30<var_19::type_19*>var_21>._M_impl.
                     _M_finish;
          if ((type_8)((int)var_22 - (int)ppSVar9 >> 2) <= var_13) {
            *(type_14 ***)((int)puVar34 + -8) = var_11 + -0x65096;
            *(type_10 *)((int)puVar34 + -0xc) = 0x8ad;
            *(int *)((int)puVar34 + -0x10) = (int)var_11 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
            *(type_10 *)((int)puVar34 + -0x14) = 0x9f2a3;
            gold::var_10
                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),
                       *(char **)((int)puVar34 + -8));
          }
          var_22 = (type_2 *)ppSVar9[var_13];
          if (var_22 == (type_2 *)0x0) goto LAB_0009f240;
          if (((var_22->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0009ccec;
          *(type_2 **)((int)puVar34 + -0xc) = var_22;
          *(type_2 **)((int)puVar34 + -0x10) = relinfo->symtab;
                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */
          *(type_10 *)((int)puVar34 + -0x14) = 0x9e0cb;
          var_22 = (type_2 *)
                     var_19::Symbol_table::var_28
                               (*(type_2 **)((int)puVar34 + -0x10),
                                *(type_19 **)((int)puVar34 + -0xc));
          var_23 = var_22->output_count_;
          var_13 = var_23 - 1;
          if (var_13 < 0xfffffffe) {
            if ((var_6.output_symtab_index_ != 0) && (var_6.output_symtab_index_ != 0xfffffffe)) {
              *(type_14 ***)((int)puVar34 + -8) = var_11 + -0x650dd;
              *(type_10 *)((int)puVar34 + -0xc) = 0x70c;
              *(int *)((int)puVar34 + -0x10) = (int)var_11 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */
              *(type_10 *)((int)puVar34 + -0x14) = 0x9f155;
              gold::var_10
                        (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),
                         *(char **)((int)puVar34 + -8));
            }
            goto LAB_0009e020;
          }
          if (var_6.output_symtab_index_ != 0) {
            *(type_14 ***)((int)puVar34 + -8) = var_11 + -0x650e4;
            *(type_10 *)((int)puVar34 + -0xc) = 0x716;
            *(int *)((int)puVar34 + -0x10) = (int)var_11 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
            *(type_14 **)((int)puVar34 + -0x14) = &UNK_0009e10f;
            gold::var_10
                      (*(char **)((int)puVar34 + -0x10),*(int *)((int)puVar34 + -0xc),
                       *(char **)((int)puVar34 + -8));
          }
LAB_0009cd01:
          var_6.output_symtab_index_ = 0xffffffff;
LAB_0009cd08:
          var_6.u_ = (type_21)(var_22->table_)._M_h._M_element_count;
          var_29 = (type_7)(var_22->table_)._M_h._M_bucket_count & 0xf;
          if (var_29 == 6) {
            var_6._8_4_ = var_6._8_4_ | 0x20000000;
          }
          else if (var_29 == 10) {
            var_6._8_4_ = var_6._8_4_ | 0x40000000;
          }
          var_29 = *(type_6 *)((int)&(var_22->table_)._M_h._M_bucket_count + 3);
          if (-1 < (char)var_29) {
LAB_0009d9b8:
            local_bc = &var_6;
            local_9c = &var_6;
            var_13 = *(type_8 *)(var_15 + 4) >> 0x18;
            goto LAB_0009cd80;
          }
          var_13 = (var_22->table_)._M_h._M_bucket_count;
          if ((var_13 & 0x70000) == 0) {
            if ((((anon_union_16_2_edb7204a_for_basic_string<var_31,var_20::char_traits<var_31>,var_20::var_30<var_31>var_21>var_32
                   *)((int)&var_22->offset_ + 4))->_M_allocated_capacity != 0) ||
               ((var_29 & 0x20) == 0)) {
              local_bc = &var_6;
              local_9c = &var_6;
              var_13 = *(type_8 *)(var_15 + 4) >> 0x18;
              goto LAB_0009cd80;
            }
          }
          else if ((var_13 & 0x70000) != 0x40000) goto LAB_0009d9b8;
          var_26 = (var_1<32,var_25> *)0x0;
          local_9c = &var_6;
LAB_0009d9f1:
          local_bc = &var_6;
          local_b0 = &var_8;
          var_7.output_symtab_index_ = 0;
          pp_Var1 = (local_cc->super_Sized_relobj<32,var_25>).super_Relobj.super_Object._vptr_Object;
          *(type_8 *)((int)puVar34 + -8) = relinfo->data_shndx;
          *(var_1<32,var_25> **)((int)puVar34 + -0xc) = local_cc;
          local_d0 = &var_7;
          var_7.output_dynsym_index_ = 0xffffffff;
          var_7._8_4_ = 0x80000000;
          var_7.u_.var_68 = 0;
          *(var_3<32> **)((int)puVar34 + -0x10) = local_b0;
          var_82 = pp_Var1[0x10];
          *(type_10 *)((int)puVar34 + -0x14) = 0x9da35;
          (*var_82)();
          var_37 = false;
          var_39 = var_33 == 0;
          if (var_39) {
            var_34 = 6;
            var_35 = (type_7 *)var_8.output_symtab_index_;
            var_36 = (type_7 *)((int)var_11 + -0x19cac3);
            do {
              if (var_34 == 0) break;
              var_34 = var_34 + -1;
              var_37 = *var_35 < *var_36;
              var_39 = *var_35 == *var_36;
              var_35 = var_35 + (type_8)bVar41 * -2 + 1;
              var_36 = var_36 + (type_8)bVar41 * -2 + 1;
            } while (var_39);
            var_38 = false;
            var_37 = (!var_37 && !var_39) == var_37;
            if (!var_37) {
              var_34 = 7;
              var_35 = (type_7 *)var_8.output_symtab_index_;
              ppuVar38 = var_11 + -0x672af;
              do {
                if (var_34 == 0) break;
                var_34 = var_34 + -1;
                var_38 = *var_35 < *(type_7 *)ppuVar38;
                var_37 = *var_35 == *(type_7 *)ppuVar38;
                var_35 = var_35 + (type_8)bVar41 * -2 + 1;
                ppuVar38 = (type_14 **)((int)ppuVar38 + (type_8)bVar41 * -2 + 1);
              } while (var_37);
              var_39 = false;
              var_37 = (!var_38 && !var_37) == var_38;
              if (!var_37) {
                var_34 = 0x11;
                var_35 = (type_7 *)var_8.output_symtab_index_;
                ppuVar38 = var_11 + -0x672ad;
                do {
                  if (var_34 == 0) break;
                  var_34 = var_34 + -1;
                  var_39 = *var_35 < *(type_7 *)ppuVar38;
                  var_37 = *var_35 == *(type_7 *)ppuVar38;
                  var_35 = var_35 + (type_8)bVar41 * -2 + 1;
                  ppuVar38 = (type_14 **)((int)ppuVar38 + (type_8)bVar41 * -2 + 1);
                } while (var_37);
                var_38 = false;
                var_37 = (!var_39 && !var_37) == var_39;
                if (!var_37) {
                  var_34 = 5;
                  var_35 = (type_7 *)var_8.output_symtab_index_;
                  var_36 = (type_7 *)((int)var_11 + -0x19caa2);
                  do {
                    if (var_34 == 0) break;
                    var_34 = var_34 + -1;
                    var_38 = *var_35 < *var_36;
                    var_37 = *var_35 == *var_36;
                    var_35 = var_35 + (type_8)bVar41 * -2 + 1;
                    var_36 = var_36 + (type_8)bVar41 * -2 + 1;
                  } while (var_37);
                  var_39 = false;
                  var_37 = (!var_38 && !var_37) == var_38;
                  if (!var_37) {
                    var_34 = 5;
                    var_35 = (type_7 *)var_8.output_symtab_index_;
                    ppuVar38 = var_11 + -0x672a7;
                    do {
                      if (var_34 == 0) break;
                      var_34 = var_34 + -1;
                      var_39 = *var_35 < *(type_7 *)ppuVar38;
                      var_37 = *var_35 == *(type_7 *)ppuVar38;
                      var_35 = var_35 + (type_8)bVar41 * -2 + 1;
                      ppuVar38 = (type_14 **)((int)ppuVar38 + (type_8)bVar41 * -2 + 1);
                    } while (var_37);
                    var_38 = false;
                    var_37 = (!var_39 && !var_37) == var_39;
                    if (!var_37) {
                      var_34 = 4;
                      var_35 = (type_7 *)var_8.output_symtab_index_;
                      var_36 = (type_7 *)((int)var_11 + -0x19ca96);
                      do {
                        if (var_34 == 0) break;
                        var_34 = var_34 + -1;
                        var_38 = *var_35 < *var_36;
                        var_37 = *var_35 == *var_36;
                        var_35 = var_35 + (type_8)bVar41 * -2 + 1;
                        var_36 = var_36 + (type_8)bVar41 * -2 + 1;
                      } while (var_37);
                      var_39 = false;
                      var_37 = (!var_38 && !var_37) == var_38;
                      if (!var_37) {
                        var_34 = 10;
                        var_35 = (type_7 *)var_8.output_symtab_index_;
                        var_36 = (type_7 *)((int)var_11 + -0x19a212);
                        do {
                          if (var_34 == 0) break;
                          var_34 = var_34 + -1;
                          var_39 = *var_35 < *var_36;
                          var_37 = *var_35 == *var_36;
                          var_35 = var_35 + (type_8)bVar41 * -2 + 1;
                          var_36 = var_36 + (type_8)bVar41 * -2 + 1;
                        } while (var_37);
                        var_38 = false;
                        var_37 = (!var_39 && !var_37) == var_39;
                        if (!var_37) {
                          var_34 = 0x12;
                          var_35 = (type_7 *)var_8.output_symtab_index_;
                          var_36 = (type_7 *)((int)var_11 + -0x19ca91);
                          do {
                            if (var_34 == 0) break;
                            var_34 = var_34 + -1;
                            var_38 = *var_35 < *var_36;
                            var_37 = *var_35 == *var_36;
                            var_35 = var_35 + (type_8)bVar41 * -2 + 1;
                            var_36 = var_36 + (type_8)bVar41 * -2 + 1;
                          } while (var_37);
                          if ((!var_38 && !var_37) != var_38) goto LAB_0009dbca;
                        }
                        goto LAB_0009dc9a;
                      }
                    }
                  }
                }
              }
            }
LAB_0009da6c:
            *(bool **)((int)puVar34 + -8) = &var_41;
            *(var_3<32> **)((int)puVar34 + -0xc) = local_b0;
            *(var_1<32,var_25> **)((int)puVar34 + -0x10) = var_26;
            *(var_1<32,var_25> **)((int)puVar34 + -0x14) = local_cc;
                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */
            *(type_10 *)((int)puVar34 + -0x18) = 0x9da8d;
            var_43 = var_19::var_1<32,var_25>::var_40
                               (*(var_1<32,var_25> **)((int)puVar34 + -0x14),
                                *(type_8 *)((int)puVar34 + -0x10),*(type_20 **)((int)puVar34 + -0xc),
                                *(bool **)((int)puVar34 + -8));
            var_7.u_ = (type_21)0x0;
            if (var_41 != false) {
              var_7.u_.merged_symbol_value =
                   (var_42<32> *)
                   ((int)&((local_9c->u_).merged_symbol_value)->input_value_ + var_43);
            }
            var_33 = 1;
          }
          else {
            if (var_33 == 1) goto LAB_0009da6c;
            if (var_33 == 3) {
LAB_0009dbca:
              pSVar5 = relinfo->object;
              if (var_22 == (type_2 *)0x0) {
                *(type_15 **)((int)puVar34 + -0x10) = var_16;
                *(var_1<32,var_25> **)((int)puVar34 + -0x14) = pSVar5;
                *(type_10 *)((int)puVar34 + -0x18) = 0x9e225;
                pcVar27 = var_19::var_1<32,var_25>::var_44
                                    (*(var_1<32,var_25> **)((int)puVar34 + -0x14),
                                     *(type_8 *)((int)puVar34 + -0x10));
                *(type_14 ***)((int)puVar34 + -0x14) = var_11 + -0x671fa;
                *(type_10 *)((int)puVar34 + -0x18) = 0x9e23d;
                uVar26 = var_45();
                *(type_15 **)((int)puVar34 + -0xc) = var_16;
                *(char **)((int)puVar34 + -0x10) = pcVar27;
                *(type_10 *)((int)puVar34 + -0x14) = uVar26;
                *(int *)((int)puVar34 + -0x18) = (int)var_58 >> 0x1f;
                *(type_8 *)((int)puVar34 + -0x1c) = var_58;
                *(size_t *)((int)puVar34 + -0x20) = var_90;
                *(var_46<32,var_25> **)((int)puVar34 + -0x24) = relinfo;
                *(type_10 *)((int)puVar34 + -0x28) = 0x9e265;
                gold::var_47<32,var_25>
                          (*(var_19 **)((int)puVar34 + -0x24),
                           *(var_46<32,var_25> **)((int)puVar34 + -0x20),
                           *(size_t *)((int)puVar34 + -0x1c),*(type_22 *)((int)puVar34 + -0x18),
                           *(char **)((int)puVar34 + -0x10));
              }
              else {
                *(type_2 **)((int)puVar34 + -0x10) = var_22;
                *(bool **)((int)puVar34 + -0x14) = &var_41;
                *(type_10 *)((int)puVar34 + -0x18) = 0x9dbf6;
                gold::Symbol::var_48(*(type_19 **)((int)puVar34 + -0x10));
                puVar12 = var_49;
                *(type_14 ***)((int)puVar34 + -0x14) = var_11 + -0x671e4;
                *(type_10 *)((int)puVar34 + -0x18) = 0x9dc0d;
                uVar26 = var_45();
                *(type_6 **)((int)puVar34 + -0x10) = puVar12;
                *(type_10 *)((int)puVar34 + -0x14) = uVar26;
                *(int *)((int)puVar34 + -0x18) = (int)var_58 >> 0x1f;
                *(type_8 *)((int)puVar34 + -0x1c) = var_58;
                *(size_t *)((int)puVar34 + -0x20) = var_90;
                *(var_46<32,var_25> **)((int)puVar34 + -0x24) = relinfo;
                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */
                *(type_10 *)((int)puVar34 + -0x28) = 0x9dc30;
                gold::var_47<32,var_25>
                          (*(var_19 **)((int)puVar34 + -0x24),
                           *(var_46<32,var_25> **)((int)puVar34 + -0x20),
                           *(size_t *)((int)puVar34 + -0x1c),*(type_22 *)((int)puVar34 + -0x18),
                           *(char **)((int)puVar34 + -0x10));
                if (var_49 != var_50) {
                  *(type_6 **)((int)puVar34 + -0x14) = var_49;
                  *(type_10 *)((int)puVar34 + -0x18) = 0x9dc46;
                  var_51(*(void **)((int)puVar34 + -0x14));
                }
              }
              *(bool **)((int)puVar34 + -8) = &is_ordinary;
              *(type_16 **)((int)puVar34 + -0xc) = &var_68;
              *(type_15 **)((int)puVar34 + -0x10) = var_16;
              *(var_1<32,var_25> **)((int)puVar34 + -0x14) = pSVar5;
                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */
              *(type_10 *)((int)puVar34 + -0x18) = 0x9dc63;
              var_13 = var_19::var_1<32,var_25>::var_52
                                 (*(var_1<32,var_25> **)((int)puVar34 + -0x14),
                                  *(type_8 *)((int)puVar34 + -0x10),*(type_11 **)((int)puVar34 + -0xc)
                                  ,*(bool **)((int)puVar34 + -8));
              if (var_13 != 0) {
                *(type_8 **)((int)puVar34 + -0xc) = &var_54;
                *(type_8 *)((int)puVar34 + -0x10) = var_13;
                *(var_1<32,var_25> **)((int)puVar34 + -0x14) = pSVar5;
                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */
                *(type_10 *)((int)puVar34 + -0x18) = 0x9e18c;
                var_56 = var_19::var_1<32,var_25>::var_53
                                    (*(var_1<32,var_25> **)((int)puVar34 + -0x14),
                                     *(type_8 *)((int)puVar34 + -0x10),*(type_8 **)((int)puVar34 + -0xc)
                                    );
                if (var_54 != 0) {
                  *(type_8 *)((int)puVar34 + -0x10) = var_54;
                  *(var_1<32,var_25> **)((int)puVar34 + -0x14) = pSVar5;
                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */
                  *(type_10 *)((int)puVar34 + -0x18) = 0x9f038;
                  pcVar27 = var_19::var_1<32,var_25>::var_44
                                      (*(var_1<32,var_25> **)((int)puVar34 + -0x14),
                                       *(type_8 *)((int)puVar34 + -0x10));
                  *(type_14 ***)((int)puVar34 + -0x14) = var_11 + -0x671cf;
                  *(type_10 *)((int)puVar34 + -0x18) = 0x9f050;
                  uVar26 = var_45();
                  *(char **)((int)puVar34 + -0x10) = pcVar27;
                  *(type_10 *)((int)puVar34 + -0x14) = uVar26;
                  *(type_10 *)((int)puVar34 + -0x18) = 0x9f05f;
                  gold::var_55(*(char **)((int)puVar34 + -0x14));
                }
                if (var_56 != (type_13 *)0x0) {
                  pcVar10 = (var_56->super_Object).name_._M_dataplus._M_p;
                  *(type_14 ***)((int)puVar34 + -0x14) = var_11 + -0x671c7;
                  *(type_10 *)((int)puVar34 + -0x18) = 0x9e1be;
                  uVar26 = var_45();
                  *(type_4 *)((int)puVar34 + -0x10) = pcVar10;
                  *(type_10 *)((int)puVar34 + -0x14) = uVar26;
                  *(type_10 *)((int)puVar34 + -0x18) = 0x9e1c7;
                  gold::var_55(*(char **)((int)puVar34 + -0x14));
                }
              }
              var_33 = 3;
            }
            else {
LAB_0009dc9a:
              var_33 = 2;
            }
            var_7.u_.var_68 = 0;
          }
          var_60 = (type_10 *)((int)puVar34 + -4);
          if (var_7.output_symtab_index_ != 0) {
            *(type_14 ***)((int)puVar34 + -0xc) = var_11 + -0x650e4;
            *(type_10 *)((int)puVar34 + -0x10) = 0x716;
            *(int *)((int)puVar34 + -0x14) = (int)var_11 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */
            *(type_6 **)((int)puVar34 + -0x18) = &LAB_0009f212;
            gold::var_10
                      (*(char **)((int)puVar34 + -0x14),*(int *)((int)puVar34 + -0x10),
                       *(char **)((int)puVar34 + -0xc));
          }
          var_7.output_symtab_index_ = 0xffffffff;
          if ((type_6 *)var_8.output_symtab_index_ != &var_8.field_0x8) {
            *(type_8 *)((int)puVar34 + -0x14) = var_8.output_symtab_index_;
            *(type_10 *)((int)puVar34 + -0x18) = 0x9dadb;
            var_51(*(void **)((int)puVar34 + -0x14));
          }
          local_d0 = &var_7;
          local_9c = &var_7;
          var_13 = *(type_8 *)(var_15 + 4) >> 0x18;
        }
        var_62 = var_13 & 0xff;
        var_29 = (type_7)local_9c->field_0xb >> 6 & 1;
        if (((int)var_58 < 0) || (var_57 <= var_58)) {
          var_16 = (type_15 *)0x0;
          var_5.p_ = (var_59<32> *)var_15;
LAB_0009dcd4:
          var_5.p_ = (var_59<32> *)var_15;
          var_60[-4] = (int)var_11 + -0x19ca7f;
          var_60[-5] = 0x9dceb;
          uVar26 = var_45();
          var_60[-3] = var_58;
          var_60[-4] = uVar26;
          var_60[-5] = (int)var_58 >> 0x1f;
          var_60[-6] = var_58;
          var_60[-7] = var_90;
          var_60[-8] = relinfo;
                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */
          var_60[-9] = 0x9dd08;
          gold::var_47<32,var_25>
                    ((var_19 *)var_60[-8],(var_46<32,var_25> *)var_60[-7],var_60[-6],
                     *(type_22 *)(var_60 + -5),(char *)var_60[-3]);
        }
        else {
          var_16 = var_61 + var_58;
          var_5.p_ = (var_59<32> *)var_15;
          if (var_16 == (type_15 *)0x0) goto LAB_0009dcd4;
          if (var_16 == (type_15 *)0x0) {
            var_16 = (type_15 *)0xfffffffc;
          }
          var_8.output_symtab_index_ = 0;
          var_8.output_dynsym_index_ = 0xffffffff;
          var_26 = relinfo->object;
          var_8._8_4_ = 0x80000000;
          var_8.u_.var_68 = 0;
          if (var_22 == (type_2 *)0x0) {
            if (var_29 == 0) {
              var_13 = *(type_8 *)(var_15 + 8);
              local_ac = var_13 >> 0x18 | (var_13 & 0xff0000) >> 8 | (var_13 & 0xff00) << 8 |
                         var_13 << 0x18;
              local_a8 = (int)local_ac >> 0x1f;
              if (0xc < var_62) {
                if (var_62 < 0x10) {
                  local_b0 = &var_8;
                  goto LAB_0009d56d;
                }
                if (var_62 - 0x52 < 3) {
                  local_b0 = &var_8;
                  goto LAB_0009ddfa;
                }
                local_b0 = &var_8;
                goto LAB_0009d200;
              }
LAB_0009d1f2:
              local_b0 = &var_8;
            }
            else {
              var_13 = *(type_8 *)(var_15 + 4);
              local_ac = ((var_13 & 0xff0000) >> 8 | (var_13 & 0xff00) << 8 | var_13 << 0x18) >> 8;
              var_60[-3] = local_ac;
              var_60[-4] = var_26;
              local_b0 = &var_8;
                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */
              var_60[-5] = 0x9dda9;
              var_37 = var_19::var_1<32,var_25>::var_63
                                 ((var_1<32,var_25> *)var_60[-4],var_60[-3]);
              if (var_37) {
                var_34 = (int)(this->sparc_info).default_text_segment_address;
                if (var_34 == 0) {
                  local_b0 = &var_8;
                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */
                  var_60[-1] = 0x9f3a6;
                  var_64((var_65<32,var_25> *)*var_60);
                  var_86 = extraout_ECX_00;
                  goto LAB_0009f3a6;
                }
                if ((*(type_7 *)(var_34 + 0x1c) & 1) == 0) {
                  var_60[-1] = extraout_ECX;
                  var_60[-2] = var_11 + -0x64eef;
                  var_60[-3] = 0xc5;
                  var_60[-4] = (int)var_11 + -0x19cca3;
                  local_b0 = &var_8;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */
                  var_60[-5] = 0x9f3ed;
                  gold::var_10((char *)var_60[-4],var_60[-3],(char *)var_60[-2]);
                }
                var_66 = *(int *)(var_34 + 0x34);
                local_b0 = &var_8;
                var_34 = *(int *)(var_34 + 4);
                pp_Var1 = (var_26->super_Sized_relobj<32,var_25>).super_Relobj.super_Object.
                          _vptr_Object;
                var_60[-3] = local_ac;
                var_60[-4] = var_26;
                var_82 = pp_Var1[0x2a];
                var_60[-5] = 0x9de86;
                var_67 = (*var_82)();
                var_8.u_.merged_symbol_value =
                     (var_42<32> *)((var_66 * 3 + 0xc) * 4 + var_34 + var_67);
                local_b0 = &var_8;
                local_9c = &var_8;
              }
              else {
                local_b0 = &var_8;
              }
              var_13 = (var_5.p_)->r_addend;
              local_ac = var_13 >> 0x18 | (var_13 & 0xff0000) >> 8 | (var_13 & 0xff00) << 8 |
                         var_13 << 0x18;
              local_a8 = (int)local_ac >> 0x1f;
              if (var_62 < 0xd) goto LAB_0009d200;
              if (var_62 < 0x10) {
LAB_0009d56d:
                var_13 = (var_5.p_)->r_info;
                pp_Var1 = (var_26->super_Sized_relobj<32,var_25>).super_Relobj.super_Object.
                          _vptr_Object;
                var_13 = ((var_13 & 0xff0000) >> 8 | (var_13 & 0xff00) << 8 | var_13 << 0x18) >> 8;
                var_60[-4] = 0;
                var_60[-5] = 0;
                var_60[-6] = 0;
                var_60[-7] = var_13;
                var_60[-8] = var_26;
                var_82 = pp_Var1[0x2b];
                var_60[-9] = 0x9d58e;
                var_34 = (*var_82)();
                if ((char)var_34 == '\0') {
                  var_60[-2] = var_11 + -0x650e7;
                  var_60[-3] = 0xd2c;
                  var_60[-4] = (int)var_11 + -0x196252;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */
                  var_60[-5] = 0x9f357;
                  gold::var_10((char *)var_60[-4],var_60[-3],(char *)var_60[-2]);
                }
                pp_Var1 = (var_26->super_Sized_relobj<32,var_25>).super_Relobj.super_Object.
                          _vptr_Object;
                var_60[-4] = 0;
                var_60[-5] = 0;
                var_60[-6] = 0;
                var_60[-7] = var_13;
                var_60[-8] = var_26;
                var_82 = pp_Var1[0x2c];
                var_60[-9] = 0x9d5b2;
                (*var_82)();
                goto LAB_0009d200;
              }
              if (2 < var_62 - 0x52) goto LAB_0009d200;
LAB_0009ddfa:
              var_60[-2] = local_ac;
              var_60[-3] = var_26;
              var_60[-4] = local_9c;
              var_60[-5] = 0x9de14;
              VVar22 = var_19::var_3<32>::var_68<true>
                                 ((var_3<32> *)var_60[-4],
                                  (var_1<32,var_25> *)var_60[-3],var_60[-2]);
              pcVar27 = (this->sparc_info).dynamic_linker;
              if ((pcVar27 != (char *)0x0) && ((pcVar27[0x1c] & 1U) == 0)) {
                var_60[-1] = VVar22;
                var_60[-2] = var_11 + -0x64eef;
                var_60[-3] = 0xc5;
                var_60[-4] = (int)var_11 + -0x19cca3;
                    /* WARNING: Subroutine does not return */
                var_60[-5] = 0x9f40c;
                gold::var_10((char *)var_60[-4],var_60[-3],(char *)var_60[-2]);
              }
            }
          }
          else {
            var_13 = 0;
            if (var_62 - 1 < 0x58) {
              var_13 = (type_8)*(char *)((int)var_11 + (var_62 - 0x194561));
            }
            if (*(int *)((int)&var_22->dynamic_offset_ + 4) == -1) {
LAB_0009d17c:
              var_13 = (var_5.p_)->r_addend;
              local_ac = var_13 >> 0x18 | (var_13 & 0xff0000) >> 8 | (var_13 & 0xff00) << 8 |
                         var_13 << 0x18;
              local_a8 = (int)local_ac >> 0x1f;
              if (0xc < var_62) {
                if (var_62 < 0x10) {
                  local_b0 = &var_8;
                  goto LAB_0009cfd0;
                }
                if (var_62 - 0x52 < 3) {
                  local_b0 = &var_8;
                  if (var_22 != (type_2 *)0x0) goto LAB_0009cf73;
                  goto LAB_0009ddfa;
                }
                goto LAB_0009d1f2;
              }
              local_b0 = &var_8;
            }
            else {
              var_69 = (type_7)(var_22->table_)._M_h._M_bucket_count;
              local_ac._0_1_ = var_69;
              if ((var_69 & 0xf) != 10) {
                var_60[-3] = var_13;
                var_60[-4] = var_22;
                local_b0 = &var_8;
                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */
                var_60[-5] = 0x9ce95;
                var_37 = var_19::Symbol::var_70((type_19 *)var_60[-4],var_60[-3]);
                if (!var_37) {
                  local_ac._0_1_ =
                       *(type_6 *)((int)&(var_22->table_)._M_h._M_bucket_count + 2);
                  var_69 = (type_7)local_ac & 7;
                  if (((type_7)local_ac & 7) != 0) goto LAB_0009d110;
                  if ((*(type_7 *)(*(type_5 *)&var_22->offset_ + 0x2c) & 1) == 0)
                  goto LAB_0009d110;
LAB_0009cec6:
                  var_34 = (int)(this->sparc_info).default_text_segment_address;
                  if (var_34 != 0) {
                    if (((var_22->table_)._M_h._M_bucket_count & 0xf) == 10) goto LAB_0009d0aa;
                    local_9c = (var_3<32> *)0x0;
                    local_98 = 0;
                    goto LAB_0009cefd;
                  }
LAB_0009d100:
                  local_b0 = &var_8;
                  var_60[-1] = 0x9d10e;
                  pOVar18 = var_64((var_65<32,var_25> *)*var_60);
                  var_69 = (type_7)pOVar18;
LAB_0009d110:
                  ppuVar38 = var_11 + 0x1f2;
                  if (*(int *)(*ppuVar38 + 8) == 0) {
                    var_60[-2] = var_11 + -0x64ebf;
                    var_60[-3] = 0x5c;
                    var_60[-4] = (int)var_11 + -0x1a1d93;
                    local_b0 = &var_8;
                    /* WARNING: Subroutine does not return */
                    var_60[-5] = 0x9f37a;
                    gold::var_10((char *)var_60[-4],var_60[-3],(char *)var_60[-2]);
                  }
                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x1a25) != '\0') {
                    if (var_69 == 0) {
                      if ((((type_23 *)
                           ((type_24 *)&var_22->offset_ + 1))->shndx == 0)
                         && (((var_22->table_)._M_h._M_bucket_count & 0x20000000) != 0))
                      goto LAB_0009cec6;
                    }
                    else if (var_69 == 4) goto LAB_0009cec6;
                    var_60[-4] = var_22;
                    local_b0 = &var_8;
                    var_60[-5] = 0x9d168;
                    var_37 = var_19::Symbol::var_71((type_19 *)var_60[-4]);
                    if (var_37) goto LAB_0009cec6;
                  }
                  var_13 = var_13 & 8;
                  if (var_13 == 0) goto LAB_0009d17c;
                  var_72 = (var_22->table_)._M_h._M_bucket_count;
                  if ((var_72 & 0x70000) == 0) {
                    if ((((type_23 *)
                         ((type_24 *)&var_22->offset_ + 1))->shndx != 0)
                       || (((var_22->table_)._M_h._M_bucket_count & 0x20000000) == 0))
                    goto LAB_0009d17c;
                    var_13 = 0;
                  }
                  else if ((var_72 & 0x70000) != 0x40000) goto LAB_0009d17c;
                  local_ac._0_1_ = (type_7)(var_22->table_)._M_h._M_bucket_count;
                  if (((type_7)local_ac >> 4 == 2) ||
                     (((type_8)(var_22->table_)._M_h._M_before_begin._M_nxt & 2) != 0))
                  goto LAB_0009cec6;
                  if (*(int *)(*ppuVar38 + 8) == 0) {
                    var_60[-1] = ppuVar38;
                    var_60[-2] = var_11 + -0x64ebf;
                    var_60[-3] = 0x5c;
                    var_60[-4] = (int)var_11 + -0x1a1d93;
                    local_b0 = &var_8;
                    /* WARNING: Subroutine does not return */
                    var_60[-5] = &LAB_0009f4c3;
                    gold::var_10((char *)var_60[-4],var_60[-3],(char *)var_60[-2]);
                  }
                  if (*(char *)(*(int *)(*ppuVar38 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;
                }
                goto LAB_0009d17c;
              }
              var_34 = (int)(this->sparc_info).default_text_segment_address;
              if (var_34 == 0) goto LAB_0009d100;
LAB_0009d0aa:
              var_60[-3] = 0;
              var_60[-4] = var_22;
              local_b0 = &var_8;
              var_60[-5] = 0x9d0c3;
              var_37 = var_19::Symbol::var_73
                                 ((type_19 *)var_60[-4],*(bool *)(var_60 + -3));
              local_9c = (var_3<32> *)0x0;
              local_98 = 0;
              if (var_37) {
                local_9c = (var_3<32> *)((*(int *)(var_34 + 0x34) * 3 + 0xc) * 4);
                local_98 = (int)local_9c >> 0x1f;
              }
LAB_0009cefd:
              if ((*(type_7 *)(var_34 + 0x1c) & 1) == 0) {
                var_60[-2] = var_11 + -0x64eef;
                var_60[-3] = 0xc5;
                var_60[-4] = (int)var_11 + -0x19cca3;
                local_b0 = &var_8;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */
                var_60[-5] = 0x9f2cd;
                gold::var_10((char *)var_60[-4],var_60[-3],(char *)var_60[-2]);
              }
              if (*(type_8 *)((int)&var_22->dynamic_offset_ + 4) == 0xffffffff) {
                var_60[-2] = var_11 + -0x64fb3;
                var_60[-3] = 0x1ce;
                var_60[-4] = var_11 + -0x67308;
                local_b0 = &var_8;
                    /* WARNING: Subroutine does not return */
                var_60[-5] = 0x9f2f7;
                gold::var_10((char *)var_60[-4],var_60[-3],(char *)var_60[-2]);
              }
              var_8.u_.merged_symbol_value =
                   (var_42<32> *)
                   (*(type_8 *)((int)&var_22->dynamic_offset_ + 4) + (int)local_9c +
                   *(int *)(var_34 + 4));
              var_13 = (var_5.p_)->r_addend;
              local_ac = var_13 >> 0x18 | (var_13 & 0xff0000) >> 8 | (var_13 & 0xff00) << 8 |
                         var_13 << 0x18;
              local_a8 = (int)local_ac >> 0x1f;
              if (var_62 < 0xd) {
                local_b0 = &var_8;
                local_9c = local_b0;
                goto LAB_0009d200;
              }
              if (var_62 < 0x10) {
                local_b0 = &var_8;
                local_9c = &var_8;
                if (var_22 == (type_2 *)0x0) goto LAB_0009d56d;
              }
              else {
                local_b0 = &var_8;
                local_9c = &var_8;
                if (2 < var_62 - 0x52) goto LAB_0009d200;
LAB_0009cf73:
                var_69 = *(type_6 *)((int)&(var_22->table_)._M_h._M_bucket_count + 2);
                local_c8 = var_74(local_c8._1_3_,var_69);
                if ((var_69 & 7) == 0) {
                  if (((var_22->table_)._M_h._M_bucket_count & 0x20000000) == 0) {
                    var_60[-4] = ((type_23 *)
                                  ((type_24 *)&var_22->offset_ + 1))->
                                  shndx;
                    var_60[-5] = 0x9d01f;
                    var_37 = var_19::Symbol::var_75(var_60[-4]);
                    if (!var_37) {
                      if (((var_22->table_)._M_h._M_bucket_count & 0x70000) != 0)
                      goto LAB_0009cfae;
                      goto LAB_0009cf9f;
                    }
                  }
                  else if (((type_23 *)
                           ((type_24 *)&var_22->offset_ + 1))->shndx != 0)
                  {
LAB_0009cf9f:
                    if (((type_8)((type_24 *)&var_22->offset_)->
                               output_segment->output_lists_[3].
                               super__Vector_base<var_19::type_25*,var_20::var_30<var_19::type_25*>var_21>
                               ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0009cfae;
                  }
                }
                else if ((var_69 & 7) != 4) {
LAB_0009cfae:
                  var_60[-4] = var_22;
                  var_60[-5] = 0x9cfbc;
                  var_37 = var_19::Symbol::var_71((type_19 *)var_60[-4]);
                  if ((!var_37) && (var_29 == 0)) goto LAB_0009ddfa;
                }
              }
LAB_0009cfd0:
              var_77 = (type_9 *)&var_22->first_dynamic_global_index_;
              var_76 = var_77;
              while (var_76->got_type_ != 0) {
                var_76 = var_76->got_next_;
                if (var_76 == (type_9 *)0x0) goto LAB_0009cfed;
              }
              if (var_76->got_offset_ == 0xffffffff) {
LAB_0009cfed:
                var_60[-2] = var_11 + -0x650e7;
                var_60[-3] = 0xd26;
                var_60[-4] = (int)var_11 + -0x196252;
                    /* WARNING: Subroutine does not return */
                var_60[-5] = &UNK_0009d00e;
                gold::var_10((char *)var_60[-4],var_60[-3],(char *)var_60[-2]);
              }
              while (var_77->got_type_ != 0) {
                var_77 = var_77->got_next_;
                if (var_77 == (type_9 *)0x0) goto LAB_0009d069;
              }
              if (var_77->got_offset_ == 0xffffffff) {
LAB_0009d069:
                var_60[-2] = var_11 + -0x64f5d;
                var_60[-3] = 0x1b7;
                var_60[-4] = var_11 + -0x67308;
                    /* WARNING: Subroutine does not return */
                var_60[-5] = &UNK_0009d08a;
                gold::var_10((char *)var_60[-4],var_60[-3],(char *)var_60[-2]);
              }
            }
          }
LAB_0009d200:
          local_c8 = var_58 + address;
          if (var_62 < 0xfc) {
                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*(type_3 *)(var_11[var_62 - 0x656fe] + (int)var_11))();
            return;
          }
          var_60[-4] = var_11 + -0x672b6;
          var_60[-5] = 0x9e3bf;
          uVar26 = var_45();
          var_13 = (var_5.p_)->r_offset;
          var_60[-3] = var_62;
          var_60[-4] = uVar26;
          var_60[-5] = 0;
          var_60[-6] = var_13 >> 0x18 | (var_13 & 0xff0000) >> 8 | (var_13 & 0xff00) << 8 |
                        var_13 << 0x18;
          var_60[-7] = var_90;
          var_60[-8] = relinfo;
          var_60[-9] = 0x9e3e3;
          gold::var_47<32,var_25>
                    ((var_19 *)var_60[-8],(var_46<32,var_25> *)var_60[-7],var_60[-6],
                     *(type_22 *)(var_60 + -5),(char *)var_60[-3]);
          var_60[-4] = local_b0;
          var_60[-5] = 0x9d286;
          gold::var_3<32>::~var_3((var_3<32> *)var_60[-4],var_60[-3]);
          if (var_22 != (type_2 *)0x0) {
            var_29 = *(type_6 *)((int)&(var_22->table_)._M_h._M_bucket_count + 2);
            var_69 = var_29 & 7;
            var_79 = var_22;
            if ((var_29 & 7) == 0) {
              if ((((anon_union_16_2_edb7204a_for_basic_string<var_31,var_20::char_traits<var_31>,var_20::var_30<var_31>var_21>var_32
                     *)((int)&var_22->offset_ + 4))->_M_allocated_capacity != 0) ||
                 (((var_22->table_)._M_h._M_bucket_count & 0x20000000) == 0)) {
                var_86 = *(type_2 **)&var_22->offset_;
                var_79 = (type_2 *)(var_11 + -0x15e4b4);
                var_78 = (type_2 *)
                         ((type_25 *)&var_86->saw_undefined_)->_vptr_Output_data[5];
                if (var_78 != var_79) {
                  var_60[-4] = var_86;
                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */
                  var_60[-5] = 0x9d736;
                  var_34 = (*(type_3 *)var_78)();
                  if (var_34 != 0) {
                    var_29 = *(type_6 *)((int)&(var_22->table_)._M_h._M_bucket_count + 2);
                    var_69 = var_29 & 7;
                    if ((var_29 & 7) == 0) {
                      if (((type_23 *)
                          ((type_24 *)&var_22->offset_ + 1))->shndx == 0)
                      {
                        var_80 = *(type_6 *)((int)&(var_22->table_)._M_h._M_bucket_count + 3);
                        if ((var_80 & 0x20) != 0) goto LAB_0009d63d;
                      }
                      else {
                        var_80 = *(type_6 *)((int)&(var_22->table_)._M_h._M_bucket_count + 3);
                      }
                      if ((char)var_80 < '\0') goto LAB_0009d900;
                    }
                    else {
                      if (var_69 == 4) goto LAB_0009d63d;
                      if ((char)*(type_6 *)((int)&(var_22->table_)._M_h._M_bucket_count + 3) <
                          '\0') goto LAB_0009d6b0;
                    }
                    var_79 = (type_2 *)(var_11 + 0x1f2);
                    goto LAB_0009d779;
                  }
                  goto LAB_0009d970;
                }
LAB_0009d2df:
                var_29 = var_29 & 7;
                var_80 = *(type_6 *)((int)&(var_22->table_)._M_h._M_bucket_count + 1);
                local_9c = (var_3<32> *)var_74(local_9c._1_3_,var_80);
                var_69 = var_80 & 3;
                if ((var_80 & 3) == 0) goto LAB_0009d380;
LAB_0009d2fb:
                if ((((anon_union_16_2_edb7204a_for_basic_string<var_31,var_20::char_traits<var_31>,var_20::var_30<var_31>var_21>var_32
                       *)((int)&var_22->offset_ + 4))->_M_allocated_capacity == 0) &&
                   (((var_22->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {
                  var_80 = (type_7)(var_22->table_)._M_h._M_bucket_count;
                  local_9c = (var_3<32> *)var_74(local_9c._1_3_,var_80);
                  var_80 = var_80 >> 4;
                  var_86 = (type_2 *)(type_8)var_80;
                  if ((var_80 != 2) &&
                     (var_86 = var_22,
                     ((type_8)(var_22->table_)._M_h._M_before_begin._M_nxt & 2) == 0))
                  goto LAB_0009d701;
                }
LAB_0009d312:
                if (((type_8)((type_24 *)&var_22->offset_)->output_segment->
                           output_lists_[3].
                           super__Vector_base<var_19::type_25*,var_20::var_30<var_19::type_25*>var_21>
                           ._M_impl._M_end_of_storage & 1) != 0) {
LAB_0009d321:
                  if (var_69 == 2) {
                    var_60[-4] = (int)var_11 + -0x19ca5d;
                    var_60[-5] = 0x9e2b5;
                    uVar26 = var_45();
                  }
                  else if (var_69 < 3) {
                    if (var_69 != 1) {
LAB_0009f3a6:
                      var_60[-1] = var_86;
                      var_60[-2] = var_11 + -0x64fbc;
                      var_60[-3] = 0xa4;
                      var_60[-4] = (int)var_11 + -0x19cb27;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */
                      var_60[-5] = 0x9f3c5;
                      gold::var_10((char *)var_60[-4],var_60[-3],(char *)var_60[-2])
                      ;
                    }
                    var_60[-4] = (int)var_11 + -0x19ca66;
                    var_60[-5] = 0x9d99d;
                    uVar26 = var_45();
                  }
                  else {
                    var_60[-4] = (int)var_11 + -0x19ca56;
                    var_60[-5] = 0x9d344;
                    uVar26 = var_45();
                  }
                  pp_Var1 = ((type_25 *)&var_22->saw_undefined_)->_vptr_Output_data;
                  var_60[-4] = var_11 + -0x67173;
                  var_60[-5] = 0x9d368;
                  uVar19 = var_45();
                  var_60[-2] = pp_Var1;
                  var_60[-3] = uVar26;
                  var_60[-4] = uVar19;
                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */
                  var_60[-5] = 0x9d379;
                  gold::var_81((char *)var_60[-4]);
                }
                goto LAB_0009d380;
              }
LAB_0009d63d:
              var_80 = (type_7)(var_22->table_)._M_h._M_bucket_count;
              local_9c = (var_3<32> *)var_74(local_9c._1_3_,var_80);
              if ((var_80 >> 4 == 2) ||
                 (((type_8)(var_22->table_)._M_h._M_before_begin._M_nxt & 2) != 0)) {
LAB_0009d970:
                var_69 = *(type_6 *)((int)&(var_22->table_)._M_h._M_bucket_count + 1);
                local_9c = (var_3<32> *)var_74(local_9c._1_3_,var_69);
                var_69 = var_69 & 3;
LAB_0009d943:
                if (var_69 == 0) goto LAB_0009d380;
                var_29 = *(type_6 *)((int)&(var_22->table_)._M_h._M_bucket_count + 2);
                var_86 = (type_2 *)(type_8)var_29;
                local_9c = (var_3<32> *)var_74(local_9c._1_3_,var_29);
                var_29 = var_29 & 7;
                if (var_29 != 0) goto LAB_0009d6cc;
                goto LAB_0009d2fb;
              }
              var_79 = (type_2 *)(var_11 + 0x1f2);
              var_82 = ((type_25 *)&var_79->saw_undefined_)->_vptr_Output_data[2];
              if (var_82 == (type_1 *)0x0) {
                var_60[-1] = 0;
                var_60[-2] = var_11 + -0x64ebf;
                var_60[-3] = 0x5c;
                var_60[-4] = (int)var_11 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */
                var_60[-5] = 0x9f447;
                gold::var_10((char *)var_60[-4],var_60[-3],(char *)var_60[-2]);
              }
              if (var_82[0x49b1] != (type_1)0x0) goto LAB_0009d970;
              if ((char)*(type_6 *)((int)&(var_22->table_)._M_h._M_bucket_count + 3) < '\0') {
                if (var_69 != 0) goto LAB_0009d6b0;
                var_79 = (type_2 *)(var_11 + -0x15e4b4);
LAB_0009d900:
                var_86 = (type_2 *)
                          ((type_24 *)&var_22->offset_)->object;
                var_78 = (type_2 *)
                         ((type_25 *)&var_86->saw_undefined_)->_vptr_Output_data[5];
                if (var_78 == var_79) goto LAB_0009d2df;
                var_60[-4] = var_86;
                var_60[-5] = 0x9d91c;
                var_34 = (*(type_3 *)var_78)();
                var_79 = local_e0;
                if (var_34 != 0) goto LAB_0009d779;
LAB_0009d930:
                var_69 = *(type_6 *)((int)&(var_22->table_)._M_h._M_bucket_count + 1);
                local_9c = (var_3<32> *)var_74(local_9c._1_3_,var_69);
                var_69 = var_69 & 3;
                goto LAB_0009d943;
              }
LAB_0009d779:
              var_82 = ((type_25 *)&var_79->saw_undefined_)->_vptr_Output_data[3];
              if (var_82 == (type_1 *)0x0) {
                var_60[-2] = var_11 + -0x64fb7;
                var_60[-3] = 0x69;
                var_60[-4] = (int)var_11 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */
                var_60[-5] = 0x9f336;
                gold::var_10((char *)var_60[-4],var_60[-3],(char *)var_60[-2]);
              }
              var_34 = *(int *)var_82;
              var_60[-3] = var_22;
              var_60[-4] = var_82;
              pcVar4 = *(type_3 **)(var_34 + 0x1c);
              var_60[-5] = 0x9d795;
              var_83 = (*pcVar4)();
              if (var_83 != '\0') goto LAB_0009d930;
              var_79 = (type_2 *)
                        ((type_25 *)&var_79->saw_undefined_)->_vptr_Output_data[2];
              if (var_79 == (type_2 *)0x0) {
                var_60[-2] = var_11 + -0x64ebf;
                var_60[-3] = 0x5c;
                var_60[-4] = (int)var_11 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */
                var_60[-5] = 0x9f398;
                gold::var_10((char *)var_60[-4],var_60[-3],(char *)var_60[-2]);
              }
              var_35 = (type_7 *)(var_79 + 0x2e)[1].output_count_;
              var_37 = false;
              var_39 = var_35 == (type_7 *)0x0;
              if (var_39) {
                var_69 = *(type_6 *)((int)&(var_22->table_)._M_h._M_bucket_count + 1);
                local_9c = (var_3<32> *)var_74(local_9c._1_3_,var_69);
                var_69 = var_69 & 3;
LAB_0009d85a:
                if ((var_69 == 2) ||
                   ((*(type_6 *)((int)&var_79[0x12].forwarders_._M_h._M_buckets + 1) == '\0' ||
                    (*(type_6 *)((int)&var_79[0x37].namepool_.offset_ + 1) != '\0'))))
                goto LAB_0009d874;
                goto LAB_0009d943;
              }
              var_34 = 0xb;
              var_36 = var_35;
              var_84 = (type_7 *)((int)var_11 + -0x1a1fa6);
              do {
                if (var_34 == 0) break;
                var_34 = var_34 + -1;
                var_37 = *var_36 < *var_84;
                var_39 = *var_36 == *var_84;
                var_36 = var_36 + (type_8)bVar41 * -2 + 1;
                var_84 = var_84 + (type_8)bVar41 * -2 + 1;
              } while (var_39);
              var_38 = false;
              var_37 = (!var_37 && !var_39) == var_37;
              if (var_37) goto LAB_0009d930;
              var_34 = 0xb;
              var_36 = var_35;
              var_84 = (type_7 *)((int)var_11 + -0x1a1f9b);
              do {
                if (var_34 == 0) break;
                var_34 = var_34 + -1;
                var_38 = *var_36 < *var_84;
                var_37 = *var_36 == *var_84;
                var_36 = var_36 + (type_8)bVar41 * -2 + 1;
                var_84 = var_84 + (type_8)bVar41 * -2 + 1;
              } while (var_37);
              var_39 = false;
              var_37 = (!var_38 && !var_37) == var_38;
              if (!var_37) {
                var_34 = 0x17;
                var_36 = var_35;
                ppuVar38 = var_11 + -0x687e4;
                do {
                  if (var_34 == 0) break;
                  var_34 = var_34 + -1;
                  var_39 = *var_36 < *(type_7 *)ppuVar38;
                  var_37 = *var_36 == *(type_7 *)ppuVar38;
                  var_36 = var_36 + (type_8)bVar41 * -2 + 1;
                  ppuVar38 = (type_14 **)((int)ppuVar38 + (type_8)bVar41 * -2 + 1);
                } while (var_37);
                var_69 = *(type_6 *)((int)&(var_22->table_)._M_h._M_bucket_count + 1);
                local_9c = (var_3<32> *)var_74(local_9c._1_3_,var_69);
                var_69 = var_69 & 3;
                var_37 = (!var_39 && !var_37) == var_39;
                if ((!var_37) ||
                   (var_37 = ((var_22->table_)._M_h._M_bucket_count & 0x1000000) == 0, !var_37)) {
                  var_39 = false;
                  var_34 = 0x16;
                  var_36 = (type_7 *)((int)var_11 + -0x1a1f79);
                  do {
                    if (var_34 == 0) break;
                    var_34 = var_34 + -1;
                    var_39 = *var_35 < *var_36;
                    var_37 = *var_35 == *var_36;
                    var_35 = var_35 + (type_8)bVar41 * -2 + 1;
                    var_36 = var_36 + (type_8)bVar41 * -2 + 1;
                  } while (var_37);
                  if (((!var_39 && !var_37) != var_39) ||
                     ((char)*(type_6 *)((int)&(var_22->table_)._M_h._M_bucket_count + 2) <
                      '\0')) goto LAB_0009d85a;
                }
                goto LAB_0009d943;
              }
LAB_0009d874:
              var_60[-4] = (int)var_58 >> 0x1f;
              var_60[-5] = var_58;
              var_60[-6] = var_90;
              var_60[-7] = relinfo;
              var_60[-8] = var_22;
              var_60[-9] = 0x9d89a;
              gold::var_85<32,var_25>
                        ((var_19 *)var_60[-8],(type_19 *)var_60[-7],
                         (var_46<32,var_25> *)var_60[-6],var_60[-5],*(type_22 *)(var_60 + -4)
                        );
              var_29 = *(type_6 *)((int)&(var_22->table_)._M_h._M_bucket_count + 3);
            }
            else {
              if (var_69 == 4) goto LAB_0009d63d;
LAB_0009d6b0:
              var_80 = *(type_6 *)((int)&(var_22->table_)._M_h._M_bucket_count + 1);
              local_9c = (var_3<32> *)var_74(local_9c._1_3_,var_80);
              var_69 = var_80 & 3;
              if ((var_80 & 3) != 0) {
                var_29 = var_29 & 7;
LAB_0009d6cc:
                if (var_29 == 4) {
                  var_29 = (type_7)(var_22->table_)._M_h._M_bucket_count;
                  local_9c = (var_3<32> *)var_74(local_9c._1_3_,var_29);
                  if ((var_29 >> 4 == 2) ||
                     (var_29 = 4, ((type_8)(var_22->table_)._M_h._M_before_begin._M_nxt & 2) != 0))
                  goto LAB_0009d380;
LAB_0009d701:
                  var_86 = (type_2 *)
                            ((type_25 *)&local_dc->saw_undefined_)->_vptr_Output_data[2];
                  if (var_86 == (type_2 *)0x0) {
                    var_60[-1] = var_79;
                    var_60[-2] = var_11 + -0x64ebf;
                    var_60[-3] = 0x5c;
                    var_60[-4] = (int)var_11 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */
                    var_60[-5] = &UNK_0009f171;
                    gold::var_10((char *)var_60[-4],var_60[-3],(char *)var_60[-2]);
                  }
                  if (*(type_6 *)
                       ((int)&var_86[0x33].candidate_odr_violations_._M_h._M_rehash_policy.
                              _M_max_load_factor + 1) == '\0') goto LAB_0009d321;
                  if (var_29 == 0) goto LAB_0009d312;
                }
              }
LAB_0009d380:
              var_29 = *(type_6 *)((int)&(var_22->table_)._M_h._M_bucket_count + 3);
            }
            if ((var_29 & 4) != 0) {
              var_60[-3] = (int)var_58 >> 0x1f;
              var_60[-4] = var_58;
              var_60[-5] = var_90;
              var_86 = relinfo->symtab;
              var_60[-6] = relinfo;
              var_60[-7] = var_22;
              var_22 = var_86;
              var_60[-8] = &var_86->warnings_;
              var_60[-9] = 0x9d8e4;
              gold::Warnings::var_87<32,var_25>
                        ((type_26 *)var_60[-8],(type_19 *)var_60[-7],
                         (var_46<32,var_25> *)var_60[-6],var_60[-5],*(type_22 *)(var_60 + -4)
                        );
            }
          }
        }
        var_60[-4] = local_d0;
        var_60[-5] = 0x9d39e;
        gold::var_3<32>::~var_3((var_3<32> *)var_60[-4],var_60[-3]);
        var_60[-4] = local_bc;
        var_60[-5] = 0x9d3aa;
        gold::var_3<32>::~var_3((var_3<32> *)var_60[-4],var_60[-3]);
        puVar34 = var_60;
      }
      var_88 {
        *(type_8 *)((int)puVar34 + -4) = var_58;
        *(type_8 *)((int)puVar34 + -8) = relinfo->data_shndx;
        *(var_1<32,var_25> **)((int)puVar34 + -0xc) = relinfo->object;
        *(type_27 **)((int)puVar34 + -0x10) = output_section;
                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */
        *(type_10 *)((int)puVar34 + -0x14) = 0x9dff8;
        var_58 = var_19::Output_section::var_89
                             (*(type_27 **)((int)puVar34 + -0x10),
                              *(type_13 **)((int)puVar34 + -0xc),*(type_8 *)((int)puVar34 + -8),
                              *(type_28 *)((int)puVar34 + -4));
        if (var_58 != 0xffffffff) goto LAB_0009cc8a;
      }
      var_90 = var_90 + 1;
      var_15 = var_15 + 0xc;
    } while (var_12 != var_90);
  }
  return;
}


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

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

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

{
  code *pcVar1;
  undefined **ppuVar2;
  undefined *puVar3;
  int *piVar4;
  int iVar5;
  undefined1 *puVar6;
  char cVar7;
  code cVar8;
  uint uVar9;
  undefined4 uVar10;
  int iVar11;
  int iVar12;
  byte *pbVar13;
  undefined4 uVar14;
  undefined4 uVar15;
  byte bVar16;
  undefined **ppuVar17;
  undefined4 extraout_ECX;
  undefined **extraout_ECX_00;
  byte bVar18;
  code cVar19;
  undefined **ppuVar20;
  byte *pbVar21;
  undefined1 *puVar22;
  undefined1 *puVar23;
  byte bVar24;
  byte *pbVar25;
  bool bVar26;
  bool bVar27;
  bool bVar28;
  byte bVar29;
  undefined1 auStack_ec [12];
  undefined **local_e0;
  undefined **local_dc;
  uint local_d8;
  char local_d1;
  byte **local_d0;
  int *local_cc;
  int local_c8;
  uint local_c4;
  int local_c0;
  byte **local_bc;
  uint local_b8;
  int local_b4;
  byte **local_b0;
  uint local_ac;
  int local_a8;
  int *local_a4;
  uint local_a0;
  byte **local_9c;
  int local_98;
  undefined **local_94;
  undefined **local_90;
  undefined1 local_81;
  undefined1 local_80 [4];
  int local_7c;
  uint *local_78;
  char local_74;
  int local_70;
  byte *local_6c;
  undefined4 local_68;
  uint local_64;
  undefined *local_60;
  byte *local_5c;
  undefined4 local_58;
  undefined4 local_54;
  byte *local_50;
  byte *local_4c;
  undefined4 local_48;
  undefined4 local_44;
  undefined *local_40;
  undefined1 *local_34 [2];
  undefined1 local_2c [28];
  
  bVar29 = 0;
  local_94 = &__DT_PLTGOT;
  local_d1 = param_7;
  if (param_3 != 4) {
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/sparc.cc",0x10a1,"relocate_section");
  }
  local_74 = '\0';
  local_70 = 0;
  local_cc = (int *)param_2[2];
  pcVar1 = *(code **)(*local_cc + 0x8c);
  if (pcVar1 == FUN_00070d40) {
                    /* try { // try from 0009cc27 to 0009cc2c has its CatchHandler @ 0009f51d */
    local_d8 = (**(code **)(*local_cc + 0xbc))(local_cc);
  }
  else {
                    /* try { // try from 0009f0c1 to 0009f0c2 has its CatchHandler @ 0009f51d */
    local_d8 = (*pcVar1)(local_cc);
  }
  puVar22 = auStack_ec;
  local_c0 = 0;
  local_b4 = 0;
  local_e0 = local_94 + 0x1f2;
  puVar6 = auStack_ec;
  local_dc = local_e0;
  if (param_5 != 0) {
    do {
      puVar22 = puVar6;
      uVar9 = *param_4;
      local_c4 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;
      if (local_d1 == '\0') {
LAB_0009cc8a:
        uVar9 = param_4[1];
        local_6c = (byte *)0x0;
        local_68 = 0xffffffff;
        uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;
        local_64 = 0x80000000;
        local_a0 = uVar9 >> 8;
        local_60 = (undefined *)0x0;
        if (local_a0 < local_d8) {
          if ((param_11 != (int *)0x0) &&
             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))
          {
LAB_0009ccec:
            pbVar13 = local_90[4];
            pbVar21 = pbVar13 + -1;
            if ((byte *)0xfffffffd < pbVar21) goto LAB_0009cd01;
LAB_0009e020:
            if (pbVar21 == (byte *)0xfffffffd) {
              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;
              *(undefined4 *)(puVar22 + -0xc) = 0x70d;
              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f313 to 0009f317 has its CatchHandler @ 0009f524 */
              *(undefined4 *)(puVar22 + -0x14) = 0x9f318;
              FUN_002446e0();
            }
            goto LAB_0009cd08;
          }
          local_90 = (undefined **)local_cc[0x38];
          if ((uint)((int)local_90 - local_cc[0x37] >> 4) <= local_a0) {
            *(undefined ***)(puVar22 + -8) = local_94 + -0x6509a;
            *(undefined4 *)(puVar22 + -0xc) = 0x8c1;
            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar22 + -0x14) = 0x9f282;
            FUN_002446e0();
          }
          local_9c = (byte **)(local_cc[0x37] + local_a0 * 0x10);
          local_a4 = (int *)((uint)local_9c[2] & 0x7ffffff);
          if (((*(byte *)((int)local_9c + 0xb) & 8) != 0) && (local_a4 != (int *)0x0)) {
            local_90 = (undefined **)local_cc[0xf];
            if ((int *)((int)local_90 - local_cc[0xe] >> 2) <= local_a4) {
              *(int **)(puVar22 + -4) = local_cc;
              *(undefined ***)(puVar22 + -8) = local_94 + -0x64eff;
              *(undefined4 *)(puVar22 + -0xc) = 0x50b;
              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f426 to 0009f42a has its CatchHandler @ 0009f524 */
              *(undefined4 *)(puVar22 + -0x14) = 0x9f42b;
              FUN_002446e0();
            }
            local_90 = *(undefined ***)(local_cc[0xe] + (int)local_a4 * 4);
            if (local_90 != (undefined **)0x0) {
              local_90 = (undefined **)0x0;
              goto LAB_0009cd80;
            }
            *(int **)(puVar22 + -8) = local_a4;
            *(int **)(puVar22 + -0xc) = local_cc;
            *(undefined4 *)(puVar22 + -0x10) = *param_2;
                    /* try { // try from 0009e2d5 to 0009e2d9 has its CatchHandler @ 0009f524 */
            *(undefined4 *)(puVar22 + -0x14) = 0x9e2da;
            cVar7 = FUN_0034cd20();
            if (cVar7 != '\0') {
              uVar9 = param_4[1] >> 0x18;
              goto LAB_0009cd80;
            }
            goto LAB_0009d9f1;
          }
          local_90 = (undefined **)0x0;
LAB_0009cd80:
          local_bc = &local_6c;
          local_5c = (byte *)0x0;
          local_58 = 0xffffffff;
          local_54 = 0x80000000;
          local_50 = (byte *)0x0;
        }
        else {
          if ((param_11 != (int *)0x0) &&
             (local_90 = *(undefined ***)(*param_11 + local_b4 * 4), local_90 != (undefined **)0x0))
          goto LAB_0009ccec;
          if (local_a0 < (uint)local_cc[0x2c]) {
LAB_0009f240:
            *(undefined ***)(puVar22 + -8) = local_94 + -0x650d7;
            *(undefined4 *)(puVar22 + -0xc) = 0x17f;
            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f25c to 0009f2a2 has its CatchHandler @ 0009f524 */
            *(undefined4 *)(puVar22 + -0x14) = 0x9f261;
            FUN_002446e0();
          }
          uVar9 = local_a0 - local_cc[0x2c];
          local_90 = (undefined **)local_cc[0x30];
          if ((uint)((int)local_90 - local_cc[0x2f] >> 2) <= uVar9) {
            *(undefined ***)(puVar22 + -8) = local_94 + -0x65096;
            *(undefined4 *)(puVar22 + -0xc) = 0x8ad;
            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar22 + -0x14) = 0x9f2a3;
            FUN_002446e0();
          }
          local_90 = *(undefined ***)(local_cc[0x2f] + uVar9 * 4);
          if (local_90 == (undefined **)0x0) goto LAB_0009f240;
          if (((byte)*(code *)((int)local_90 + 0x2a) & 0x10) == 0) goto LAB_0009ccec;
          *(undefined ***)(puVar22 + -0xc) = local_90;
          *(undefined4 *)(puVar22 + -0x10) = *param_2;
                    /* try { // try from 0009e0c6 to 0009e10e has its CatchHandler @ 0009f524 */
          *(undefined4 *)(puVar22 + -0x14) = 0x9e0cb;
          local_90 = (undefined **)FUN_0034cd90();
          pbVar13 = local_90[4];
          pbVar21 = pbVar13 + -1;
          if (pbVar21 < (byte *)0xfffffffe) {
            if ((local_6c != (byte *)0x0) && (local_6c != (byte *)0xfffffffe)) {
              *(undefined ***)(puVar22 + -8) = local_94 + -0x650dd;
              *(undefined4 *)(puVar22 + -0xc) = 0x70c;
              *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f150 to 0009f154 has its CatchHandler @ 0009f524 */
              *(undefined4 *)(puVar22 + -0x14) = 0x9f155;
              FUN_002446e0();
            }
            goto LAB_0009e020;
          }
          if (local_6c != (byte *)0x0) {
            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;
            *(undefined4 *)(puVar22 + -0xc) = 0x716;
            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar22 + -0x14) = 0x9e10f;
            FUN_002446e0();
          }
LAB_0009cd01:
          local_6c = (byte *)0xffffffff;
          pbVar13 = local_6c;
LAB_0009cd08:
          local_6c = pbVar13;
          local_60 = local_90[0xc];
          if (((byte)*(code *)(local_90 + 10) & 0xf) == 6) {
            local_64 = local_64 | 0x20000000;
          }
          else if (((byte)*(code *)(local_90 + 10) & 0xf) == 10) {
            local_64 = local_64 | 0x40000000;
          }
          if (-1 < (char)*(code *)((int)local_90 + 0x2b)) {
LAB_0009d9b8:
            local_9c = &local_6c;
            uVar9 = param_4[1] >> 0x18;
            goto LAB_0009cd80;
          }
          if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {
            if ((local_90[3] != (undefined *)0x0) ||
               (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {
              local_9c = &local_6c;
              uVar9 = param_4[1] >> 0x18;
              goto LAB_0009cd80;
            }
          }
          else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d9b8;
          local_a4 = (int *)0x0;
          local_9c = &local_6c;
LAB_0009d9f1:
          local_bc = &local_6c;
          local_b0 = &local_4c;
          local_5c = (byte *)0x0;
          iVar11 = *local_cc;
          *(undefined4 *)(puVar22 + -8) = param_2[6];
          *(int **)(puVar22 + -0xc) = local_cc;
          local_d0 = &local_5c;
          local_58 = 0xffffffff;
          local_54 = 0x80000000;
          local_50 = (byte *)0x0;
          *(byte ***)(puVar22 + -0x10) = local_b0;
          pcVar1 = *(code **)(iVar11 + 0x40);
          *(undefined4 *)(puVar22 + -0x14) = 0x9da35;
          (*pcVar1)();
          puVar23 = puVar22 + -4;
          bVar26 = false;
          bVar28 = local_c0 == 0;
          if (bVar28) {
            iVar11 = 6;
            pbVar21 = local_4c;
            pbVar13 = (byte *)((int)local_94 + -0x19cac3);
            do {
              if (iVar11 == 0) break;
              iVar11 = iVar11 + -1;
              bVar26 = *pbVar21 < *pbVar13;
              bVar28 = *pbVar21 == *pbVar13;
              pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;
              pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;
            } while (bVar28);
            bVar27 = false;
            bVar26 = (!bVar26 && !bVar28) == bVar26;
            if (!bVar26) {
              iVar11 = 7;
              pbVar21 = local_4c;
              ppuVar17 = local_94 + -0x672af;
              do {
                if (iVar11 == 0) break;
                iVar11 = iVar11 + -1;
                bVar27 = *pbVar21 < *(byte *)ppuVar17;
                bVar26 = *pbVar21 == *(byte *)ppuVar17;
                pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;
                ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);
              } while (bVar26);
              bVar28 = false;
              bVar26 = (!bVar27 && !bVar26) == bVar27;
              if (!bVar26) {
                iVar11 = 0x11;
                pbVar21 = local_4c;
                ppuVar17 = local_94 + -0x672ad;
                do {
                  if (iVar11 == 0) break;
                  iVar11 = iVar11 + -1;
                  bVar28 = *pbVar21 < *(byte *)ppuVar17;
                  bVar26 = *pbVar21 == *(byte *)ppuVar17;
                  pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;
                  ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);
                } while (bVar26);
                bVar27 = false;
                bVar26 = (!bVar28 && !bVar26) == bVar28;
                if (!bVar26) {
                  iVar11 = 5;
                  pbVar21 = local_4c;
                  pbVar13 = (byte *)((int)local_94 + -0x19caa2);
                  do {
                    if (iVar11 == 0) break;
                    iVar11 = iVar11 + -1;
                    bVar27 = *pbVar21 < *pbVar13;
                    bVar26 = *pbVar21 == *pbVar13;
                    pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;
                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;
                  } while (bVar26);
                  bVar28 = false;
                  bVar26 = (!bVar27 && !bVar26) == bVar27;
                  if (!bVar26) {
                    iVar11 = 5;
                    pbVar21 = local_4c;
                    ppuVar17 = local_94 + -0x672a7;
                    do {
                      if (iVar11 == 0) break;
                      iVar11 = iVar11 + -1;
                      bVar28 = *pbVar21 < *(byte *)ppuVar17;
                      bVar26 = *pbVar21 == *(byte *)ppuVar17;
                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;
                      ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);
                    } while (bVar26);
                    bVar27 = false;
                    bVar26 = (!bVar28 && !bVar26) == bVar28;
                    if (!bVar26) {
                      iVar11 = 4;
                      pbVar21 = local_4c;
                      pbVar13 = (byte *)((int)local_94 + -0x19ca96);
                      do {
                        if (iVar11 == 0) break;
                        iVar11 = iVar11 + -1;
                        bVar27 = *pbVar21 < *pbVar13;
                        bVar26 = *pbVar21 == *pbVar13;
                        pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;
                        pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;
                      } while (bVar26);
                      bVar28 = false;
                      bVar26 = (!bVar27 && !bVar26) == bVar27;
                      if (!bVar26) {
                        iVar11 = 10;
                        pbVar21 = local_4c;
                        pbVar13 = (byte *)((int)local_94 + -0x19a212);
                        do {
                          if (iVar11 == 0) break;
                          iVar11 = iVar11 + -1;
                          bVar28 = *pbVar21 < *pbVar13;
                          bVar26 = *pbVar21 == *pbVar13;
                          pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;
                          pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;
                        } while (bVar26);
                        bVar27 = false;
                        bVar26 = (!bVar28 && !bVar26) == bVar28;
                        if (!bVar26) {
                          iVar11 = 0x12;
                          pbVar21 = local_4c;
                          pbVar13 = (byte *)((int)local_94 + -0x19ca91);
                          do {
                            if (iVar11 == 0) break;
                            iVar11 = iVar11 + -1;
                            bVar27 = *pbVar21 < *pbVar13;
                            bVar26 = *pbVar21 == *pbVar13;
                            pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;
                            pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;
                          } while (bVar26);
                          if ((!bVar27 && !bVar26) != bVar27) goto LAB_0009dbca;
                        }
                        goto LAB_0009dc9a;
                      }
                    }
                  }
                }
              }
            }
LAB_0009da6c:
            *(undefined1 ***)(puVar22 + -8) = local_34;
            *(byte ***)(puVar22 + -0xc) = local_b0;
            *(int **)(puVar22 + -0x10) = local_a4;
            *(int **)(puVar22 + -0x14) = local_cc;
                    /* try { // try from 0009da88 to 0009dbf5 has its CatchHandler @ 0009f549 */
            *(undefined4 *)(puVar22 + -0x18) = 0x9da8d;
            iVar11 = FUN_00290ed0();
            local_50 = (byte *)0x0;
            if ((char)local_34[0] != '\0') {
              local_50 = local_9c[3] + iVar11;
            }
            local_c0 = 1;
            puVar22 = puVar22 + -4;
          }
          else {
            if (local_c0 == 1) goto LAB_0009da6c;
            if (local_c0 == 3) {
LAB_0009dbca:
              uVar15 = param_2[2];
              if (local_90 == (undefined **)0x0) {
                *(uint *)(puVar22 + -0x10) = local_a0;
                *(undefined4 *)(puVar22 + -0x14) = uVar15;
                *(undefined4 *)(puVar22 + -0x18) = 0x9e225;
                uVar10 = FUN_00297920();
                *(undefined ***)(puVar22 + -0x14) = local_94 + -0x671fa;
                *(undefined4 *)(puVar22 + -0x18) = 0x9e23d;
                uVar14 = gettext();
                *(uint *)(puVar22 + -0xc) = local_a0;
                *(undefined4 *)(puVar22 + -0x10) = uVar10;
                *(undefined4 *)(puVar22 + -0x14) = uVar14;
                *(int *)(puVar22 + -0x18) = (int)local_c4 >> 0x1f;
                *(uint *)(puVar22 + -0x1c) = local_c4;
                *(int *)(puVar22 + -0x20) = local_b4;
                *(undefined4 **)(puVar22 + -0x24) = param_2;
                *(undefined4 *)(puVar22 + -0x28) = 0x9e265;
                FUN_0023be30();
                puVar23 = puVar22 + -4;
              }
              else {
                *(undefined ***)(puVar22 + -0x10) = local_90;
                *(undefined1 ***)(puVar22 + -0x14) = local_34;
                *(undefined4 *)(puVar22 + -0x18) = 0x9dbf6;
                FUN_0034dd40();
                puVar6 = local_34[0];
                *(undefined ***)(puVar22 + -0x18) = local_94 + -0x671e4;
                *(undefined4 *)(puVar22 + -0x1c) = 0x9dc0d;
                uVar10 = gettext();
                *(undefined1 **)(puVar22 + -0x14) = puVar6;
                *(undefined4 *)(puVar22 + -0x18) = uVar10;
                *(int *)(puVar22 + -0x1c) = (int)local_c4 >> 0x1f;
                *(uint *)(puVar22 + -0x20) = local_c4;
                *(int *)(puVar22 + -0x24) = local_b4;
                *(undefined4 **)(puVar22 + -0x28) = param_2;
                    /* try { // try from 0009dc2b to 0009dc2f has its CatchHandler @ 0009f53b */
                *(undefined4 *)(puVar22 + -0x2c) = 0x9dc30;
                FUN_0023be30();
                puVar23 = puVar22 + -8;
                if (local_34[0] != local_2c) {
                  *(undefined1 **)(puVar22 + -0x18) = local_34[0];
                  *(undefined4 *)(puVar22 + -0x1c) = 0x9dc46;
                  FUN_003ae080();
                  puVar23 = puVar22 + -8;
                }
              }
              *(undefined1 **)(puVar23 + -4) = &local_81;
              *(undefined1 **)(puVar23 + -8) = local_80;
              *(uint *)(puVar23 + -0xc) = local_a0;
              *(undefined4 *)(puVar23 + -0x10) = uVar15;
                    /* try { // try from 0009dc5e to 0009dc62 has its CatchHandler @ 0009f549 */
              *(undefined4 *)(puVar23 + -0x14) = 0x9dc63;
              iVar11 = FUN_00296fa0();
              if (iVar11 != 0) {
                *(int **)(puVar23 + -8) = &local_7c;
                *(int *)(puVar23 + -0xc) = iVar11;
                *(undefined4 *)(puVar23 + -0x10) = uVar15;
                    /* try { // try from 0009e187 to 0009e264 has its CatchHandler @ 0009f549 */
                *(undefined4 *)(puVar23 + -0x14) = 0x9e18c;
                iVar11 = FUN_00291140();
                if (local_7c != 0) {
                  *(int *)(puVar23 + -0xc) = local_7c;
                  *(undefined4 *)(puVar23 + -0x10) = uVar15;
                    /* try { // try from 0009f033 to 0009f05e has its CatchHandler @ 0009f549 */
                  *(undefined4 *)(puVar23 + -0x14) = 0x9f038;
                  uVar15 = FUN_00297920();
                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671cf;
                  *(undefined4 *)(puVar23 + -0x14) = 0x9f050;
                  uVar10 = gettext();
                  *(undefined4 *)(puVar23 + -0xc) = uVar15;
                  *(undefined4 *)(puVar23 + -0x10) = uVar10;
                  *(undefined4 *)(puVar23 + -0x14) = 0x9f05f;
                  FUN_0023b870();
                }
                if (iVar11 != 0) {
                  uVar15 = *(undefined4 *)(iVar11 + 4);
                  *(undefined ***)(puVar23 + -0x10) = local_94 + -0x671c7;
                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1be;
                  uVar10 = gettext();
                  *(undefined4 *)(puVar23 + -0xc) = uVar15;
                  *(undefined4 *)(puVar23 + -0x10) = uVar10;
                  *(undefined4 *)(puVar23 + -0x14) = 0x9e1c7;
                  FUN_0023b870();
                }
              }
              local_c0 = 3;
            }
            else {
LAB_0009dc9a:
              local_c0 = 2;
            }
            local_50 = (byte *)0x0;
            puVar22 = puVar23;
          }
          if (local_5c != (byte *)0x0) {
            *(undefined ***)(puVar22 + -8) = local_94 + -0x650e4;
            *(undefined4 *)(puVar22 + -0xc) = 0x716;
            *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f20d to 0009f211 has its CatchHandler @ 0009f549 */
            *(undefined **)(puVar22 + -0x14) = &UNK_0009f212;
            FUN_002446e0();
          }
          local_5c = (byte *)0xffffffff;
          if (local_4c != (byte *)&local_44) {
            *(byte **)(puVar22 + -0x10) = local_4c;
            *(undefined4 *)(puVar22 + -0x14) = 0x9dadb;
            FUN_003ae080();
          }
          local_9c = &local_5c;
          uVar9 = param_4[1] >> 0x18;
        }
        local_d0 = &local_5c;
        local_b8 = uVar9 & 0xff;
        bVar24 = *(byte *)((int)local_9c + 0xb) >> 6 & 1;
        if (((int)local_c4 < 0) || (param_10 <= local_c4)) {
          local_a0 = 0;
          local_78 = param_4;
          if (local_74 != '\0') goto LAB_0009dd10;
LAB_0009dcd4:
          *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca7f;
          *(undefined4 *)(puVar22 + -0x14) = 0x9dceb;
          uVar15 = gettext();
          *(uint *)(puVar22 + -0xc) = local_c4;
          *(undefined4 *)(puVar22 + -0x10) = uVar15;
          *(int *)(puVar22 + -0x14) = (int)local_c4 >> 0x1f;
          *(uint *)(puVar22 + -0x18) = local_c4;
          *(int *)(puVar22 + -0x1c) = local_b4;
          *(undefined4 **)(puVar22 + -0x20) = param_2;
                    /* try { // try from 0009dd03 to 0009dd4d has its CatchHandler @ 0009f542 */
          *(undefined4 *)(puVar22 + -0x24) = 0x9dd08;
          FUN_0023be30();
        }
        else {
          local_a0 = local_c4 + param_8;
          local_78 = param_4;
          if (local_74 == '\0') {
LAB_0009cdf2:
            if (local_a0 == 0) goto LAB_0009dcd4;
            if (local_70 == local_a0) {
              local_a0 = local_a0 + -4;
            }
            local_4c = (byte *)0x0;
            local_48 = 0xffffffff;
            local_a4 = (int *)param_2[2];
            local_44 = 0x80000000;
            local_40 = (undefined *)0x0;
            if (local_90 == (undefined **)0x0) {
              if (bVar24 == 0) {
                uVar9 = local_78[2];
                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                           uVar9 << 0x18;
                local_a8 = (int)local_ac >> 0x1f;
                if (local_b8 < 0xd) {
LAB_0009d1f2:
                  local_b0 = &local_4c;
                }
                else {
                  if (local_b8 < 0x10) goto LAB_0009d56d;
                  if (2 < local_b8 - 0x52) {
                    local_b0 = &local_4c;
                    goto LAB_0009d200;
                  }
                  local_b0 = &local_4c;
LAB_0009ddfa:
                  *(uint *)(puVar22 + -8) = local_ac;
                  *(int **)(puVar22 + -0xc) = local_a4;
                  *(byte ***)(puVar22 + -0x10) = local_9c;
                  *(undefined4 *)(puVar22 + -0x14) = 0x9de14;
                  uVar15 = FUN_000a90f0();
                  if ((*(int *)(param_1 + 0x14) != 0) &&
                     ((*(byte *)(*(int *)(param_1 + 0x14) + 0x1c) & 1) == 0)) {
                    *(undefined4 *)(puVar22 + -4) = uVar15;
                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;
                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;
                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;
                    /* WARNING: Subroutine does not return */
                    *(undefined4 *)(puVar22 + -0x14) = 0x9f40c;
                    FUN_002446e0();
                  }
                }
              }
              else {
                uVar9 = local_78[1];
                local_ac = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;
                *(uint *)(puVar22 + -0xc) = local_ac;
                *(int **)(puVar22 + -0x10) = local_a4;
                local_b0 = &local_4c;
                    /* try { // try from 0009dda4 to 0009de85 has its CatchHandler @ 0009f534 */
                *(undefined4 *)(puVar22 + -0x14) = 0x9dda9;
                cVar7 = FUN_00290e20();
                if (cVar7 != '\0') {
                  iVar11 = *(int *)(param_1 + 0x18);
                  if (iVar11 == 0) {
                    local_b0 = &local_4c;
                    /* try { // try from 0009f3a1 to 0009f3a5 has its CatchHandler @ 0009f534 */
                    *(undefined4 *)(puVar22 + -4) = 0x9f3a6;
                    FUN_00095ef0();
                    ppuVar17 = extraout_ECX_00;
                    goto LAB_0009f3a6;
                  }
                  if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {
                    *(undefined4 *)(puVar22 + -4) = extraout_ECX;
                    *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;
                    *(undefined4 *)(puVar22 + -0xc) = 0xc5;
                    *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;
                    local_b0 = &local_4c;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f3e8 to 0009f40b has its CatchHandler @ 0009f534 */
                    *(undefined4 *)(puVar22 + -0x14) = 0x9f3ed;
                    FUN_002446e0();
                  }
                  iVar5 = *(int *)(iVar11 + 0x34);
                  local_b0 = &local_4c;
                  iVar11 = *(int *)(iVar11 + 4);
                  iVar12 = *local_a4;
                  *(uint *)(puVar22 + -0xc) = local_ac;
                  *(int **)(puVar22 + -0x10) = local_a4;
                  pcVar1 = *(code **)(iVar12 + 0xa8);
                  *(undefined4 *)(puVar22 + -0x14) = 0x9de86;
                  iVar12 = (*pcVar1)();
                  local_40 = (undefined *)((iVar5 * 3 + 0xc) * 4 + iVar11 + iVar12);
                  local_9c = &local_4c;
                }
                local_b0 = &local_4c;
                uVar9 = local_78[2];
                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                           uVar9 << 0x18;
                local_a8 = (int)local_ac >> 0x1f;
                if (0xc < local_b8) {
                  if (local_b8 < 0x10) {
LAB_0009d56d:
                    local_b0 = &local_4c;
                    uVar9 = local_78[1];
                    iVar11 = *local_a4;
                    uVar9 = ((uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18) >> 8;
                    *(undefined4 *)(puVar22 + -0x10) = 0;
                    *(undefined4 *)(puVar22 + -0x14) = 0;
                    *(undefined4 *)(puVar22 + -0x18) = 0;
                    *(uint *)(puVar22 + -0x1c) = uVar9;
                    *(int **)(puVar22 + -0x20) = local_a4;
                    pcVar1 = *(code **)(iVar11 + 0xac);
                    *(undefined4 *)(puVar22 + -0x24) = 0x9d58e;
                    cVar7 = (*pcVar1)();
                    if (cVar7 == '\0') {
                      *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;
                      *(undefined4 *)(puVar22 + -0xc) = 0xd2c;
                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f352 to 0009f379 has its CatchHandler @ 0009f534 */
                      *(undefined4 *)(puVar22 + -0x14) = 0x9f357;
                      FUN_002446e0();
                    }
                    iVar11 = *local_a4;
                    *(undefined4 *)(puVar22 + -0x10) = 0;
                    *(undefined4 *)(puVar22 + -0x14) = 0;
                    *(undefined4 *)(puVar22 + -0x18) = 0;
                    *(uint *)(puVar22 + -0x1c) = uVar9;
                    *(int **)(puVar22 + -0x20) = local_a4;
                    pcVar1 = *(code **)(iVar11 + 0xb0);
                    *(undefined4 *)(puVar22 + -0x24) = 0x9d5b2;
                    (*pcVar1)();
                    goto LAB_0009d200;
                  }
                  if (local_b8 - 0x52 < 3) goto LAB_0009ddfa;
                }
LAB_0009d5e0:
                local_b0 = &local_4c;
              }
            }
            else {
              uVar9 = 0;
              if (local_b8 - 1 < 0x58) {
                uVar9 = (uint)*(char *)((int)local_94 + (local_b8 - 0x194561));
              }
              if (local_90[6] == (undefined *)0xffffffff) {
LAB_0009d17c:
                uVar9 = local_78[2];
                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                           uVar9 << 0x18;
                local_a8 = (int)local_ac >> 0x1f;
                if (0xc < local_b8) {
                  if (0xf < local_b8) {
                    if (2 < local_b8 - 0x52) goto LAB_0009d1f2;
                    local_b0 = &local_4c;
                    if (local_90 != (undefined **)0x0) goto LAB_0009cf73;
                    goto LAB_0009ddfa;
                  }
                  local_b0 = &local_4c;
                  goto LAB_0009cfd0;
                }
                local_b0 = &local_4c;
              }
              else {
                cVar19 = *(code *)(local_90 + 10);
                local_ac._0_1_ = cVar19;
                if (((byte)cVar19 & 0xf) != 10) {
                  local_b0 = &local_4c;
                  *(uint *)(puVar22 + -0xc) = uVar9;
                  *(undefined ***)(puVar22 + -0x10) = local_90;
                    /* try { // try from 0009ce90 to 0009d25d has its CatchHandler @ 0009f534 */
                  *(undefined4 *)(puVar22 + -0x14) = 0x9ce95;
                  cVar7 = FUN_00071bb0();
                  if (cVar7 == '\0') {
                    local_ac._0_1_ = *(code *)((int)local_90 + 0x2a);
                    bVar18 = (byte)local_ac._0_1_ & 7;
                    if (((byte)local_ac._0_1_ & 7) != 0) goto LAB_0009d110;
                    if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009d110;
LAB_0009cec6:
                    iVar11 = *(int *)(param_1 + 0x18);
                    if (iVar11 != 0) {
                      if (((uint)local_90[10] & 0xf) == 10) goto LAB_0009d0aa;
                      local_9c = (byte **)0x0;
                      local_98 = 0;
                      goto LAB_0009cefd;
                    }
LAB_0009d100:
                    local_b0 = &local_4c;
                    *(undefined4 *)(puVar22 + -4) = 0x9d10e;
                    bVar18 = FUN_00095ef0();
LAB_0009d110:
                    ppuVar17 = local_94 + 0x1f2;
                    if (*(int *)(*ppuVar17 + 8) == 0) {
                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;
                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;
                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;
                      local_b0 = &local_4c;
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar22 + -0x14) = 0x9f37a;
                      FUN_002446e0();
                    }
                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x1a25) != '\0') {
                      if (bVar18 == 0) {
                        if ((local_90[3] == (undefined *)0x0) &&
                           (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) goto LAB_0009cec6;
                      }
                      else if (bVar18 == 4) goto LAB_0009cec6;
                      *(undefined ***)(puVar22 + -0x10) = local_90;
                      local_b0 = &local_4c;
                      *(undefined4 *)(puVar22 + -0x14) = 0x9d168;
                      cVar7 = FUN_00071a80();
                      if (cVar7 != '\0') goto LAB_0009cec6;
                    }
                    uVar9 = uVar9 & 8;
                    if (uVar9 == 0) goto LAB_0009d17c;
                    if (((byte)*(code *)((int)local_90 + 0x2a) & 7) == 0) {
                      if ((local_90[3] != (undefined *)0x0) ||
                         (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) goto LAB_0009d17c;
                      uVar9 = 0;
                    }
                    else if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 4) goto LAB_0009d17c;
                    local_ac._0_1_ = *(code *)(local_90 + 10);
                    if (((byte)local_ac._0_1_ >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))
                    goto LAB_0009cec6;
                    if (*(int *)(*ppuVar17 + 8) == 0) {
                      *(undefined ***)(puVar22 + -4) = ppuVar17;
                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;
                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;
                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;
                      local_b0 = &local_4c;
                    /* WARNING: Subroutine does not return */
                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f4c3;
                      FUN_002446e0();
                    }
                    if (*(char *)(*(int *)(*ppuVar17 + 8) + 0x49b1) != '\0') goto LAB_0009cec6;
                  }
                  goto LAB_0009d17c;
                }
                iVar11 = *(int *)(param_1 + 0x18);
                if (iVar11 == 0) goto LAB_0009d100;
LAB_0009d0aa:
                local_b0 = &local_4c;
                *(undefined4 *)(puVar22 + -0xc) = 0;
                *(undefined ***)(puVar22 + -0x10) = local_90;
                *(undefined4 *)(puVar22 + -0x14) = 0x9d0c3;
                cVar7 = FUN_00071de0();
                local_9c = (byte **)0x0;
                local_98 = 0;
                if (cVar7 != '\0') {
                  local_9c = (byte **)((*(int *)(iVar11 + 0x34) * 3 + 0xc) * 4);
                  local_98 = (int)local_9c >> 0x1f;
                }
LAB_0009cefd:
                if ((*(byte *)(iVar11 + 0x1c) & 1) == 0) {
                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64eef;
                  *(undefined4 *)(puVar22 + -0xc) = 0xc5;
                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cca3;
                  local_b0 = &local_4c;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f2c8 to 0009f2f6 has its CatchHandler @ 0009f534 */
                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2cd;
                  FUN_002446e0();
                }
                if (local_90[6] == (undefined *)0xffffffff) {
                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb3;
                  *(undefined4 *)(puVar22 + -0xc) = 0x1ce;
                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;
                  local_b0 = &local_4c;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar22 + -0x14) = 0x9f2f7;
                  FUN_002446e0();
                }
                local_40 = local_90[6] + *(int *)(iVar11 + 4) + (int)local_9c;
                uVar9 = local_78[2];
                local_ac = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                           uVar9 << 0x18;
                local_a8 = (int)local_ac >> 0x1f;
                if (local_b8 < 0xd) {
                  local_b0 = &local_4c;
                  local_9c = local_b0;
                  goto LAB_0009d200;
                }
                if (local_b8 < 0x10) {
                  local_b0 = &local_4c;
                  local_9c = local_b0;
                  if (local_90 == (undefined **)0x0) goto LAB_0009d56d;
                }
                else {
                  local_9c = &local_4c;
                  if (2 < local_b8 - 0x52) goto LAB_0009d5e0;
LAB_0009cf73:
                  local_b0 = &local_4c;
                  cVar19 = *(code *)((int)local_90 + 0x2a);
                  local_c8 = CONCAT31(local_c8._1_3_,cVar19);
                  if (((byte)cVar19 & 7) == 0) {
                    if (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0) {
                      *(undefined **)(puVar22 + -0x10) = local_90[3];
                      *(undefined4 *)(puVar22 + -0x14) = 0x9d01f;
                      cVar7 = FUN_0034c920();
                      if (cVar7 == '\0') {
                        if (((byte)*(code *)((int)local_90 + 0x2a) & 7) != 0) goto LAB_0009cfae;
                        goto LAB_0009cf9f;
                      }
                    }
                    else if (local_90[3] != (undefined *)0x0) {
LAB_0009cf9f:
                      if ((local_90[2][0x2c] & 1) == 0) goto LAB_0009cfae;
                    }
                  }
                  else if (((byte)cVar19 & 7) != 4) {
LAB_0009cfae:
                    *(undefined ***)(puVar22 + -0x10) = local_90;
                    *(undefined4 *)(puVar22 + -0x14) = 0x9cfbc;
                    cVar7 = FUN_00071a80();
                    if ((cVar7 == '\0') && (bVar24 == 0)) goto LAB_0009ddfa;
                  }
                }
LAB_0009cfd0:
                ppuVar17 = local_90 + 7;
                ppuVar20 = ppuVar17;
                while (*ppuVar20 != (undefined *)0x0) {
                  ppuVar20 = (undefined **)ppuVar20[2];
                  if (ppuVar20 == (undefined **)0x0) goto LAB_0009cfed;
                }
                if (ppuVar20[1] == (undefined *)0xffffffff) {
LAB_0009cfed:
                  *(undefined ***)(puVar22 + -8) = local_94 + -0x650e7;
                  *(undefined4 *)(puVar22 + -0xc) = 0xd26;
                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x196252;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar22 + -0x14) = 0x9d00e;
                  FUN_002446e0();
                }
                while (*ppuVar17 != (undefined *)0x0) {
                  ppuVar17 = (undefined **)ppuVar17[2];
                  if (ppuVar17 == (undefined **)0x0) goto LAB_0009d069;
                }
                if (ppuVar17[1] == (undefined *)0xffffffff) {
LAB_0009d069:
                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64f5d;
                  *(undefined4 *)(puVar22 + -0xc) = 0x1b7;
                  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67308;
                    /* WARNING: Subroutine does not return */
                  *(undefined **)(puVar22 + -0x14) = &UNK_0009d08a;
                  FUN_002446e0();
                }
              }
            }
LAB_0009d200:
            local_c8 = local_c4 + param_9;
            if (local_b8 < 0xfc) {
                    /* WARNING: Could not recover jumptable at 0x0009d230. Too many branches */
                    /* WARNING: Treating indirect jump as call */
              (*(code *)(local_94[local_b8 - 0x656fe] + (int)local_94))();
              return;
            }
            *(undefined ***)(puVar22 + -0x10) = local_94 + -0x672b6;
            *(undefined4 *)(puVar22 + -0x14) = 0x9e3bf;
            uVar15 = gettext();
            uVar9 = *local_78;
            *(uint *)(puVar22 + -0xc) = local_b8;
            *(undefined4 *)(puVar22 + -0x10) = uVar15;
            *(undefined4 *)(puVar22 + -0x14) = 0;
            *(uint *)(puVar22 + -0x18) =
                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;
            *(int *)(puVar22 + -0x1c) = local_b4;
            *(undefined4 **)(puVar22 + -0x20) = param_2;
            *(undefined4 *)(puVar22 + -0x24) = 0x9e3e3;
            FUN_0023be30();
            *(byte ***)(puVar22 + -0x10) = local_b0;
            *(undefined4 *)(puVar22 + -0x14) = 0x9d286;
            FUN_00072240();
            if (local_90 != (undefined **)0x0) {
              cVar19 = *(code *)((int)local_90 + 0x2a);
              bVar24 = (byte)cVar19 & 7;
              ppuVar20 = local_90;
              if (((byte)cVar19 & 7) == 0) {
                if ((local_90[3] != (undefined *)0x0) ||
                   (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) == 0)) {
                  ppuVar17 = (undefined **)local_90[2];
                  ppuVar20 = local_94 + -0x15e4b4;
                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);
                  if (ppuVar2 != ppuVar20) {
                    *(undefined ***)(puVar22 + -0x10) = ppuVar17;
                    /* try { // try from 0009d734 to 0009da34 has its CatchHandler @ 0009f542 */
                    *(undefined4 *)(puVar22 + -0x14) = 0x9d736;
                    iVar11 = (*(code *)ppuVar2)();
                    if (iVar11 != 0) {
                      cVar19 = *(code *)((int)local_90 + 0x2a);
                      bVar24 = (byte)cVar19 & 7;
                      if (((byte)cVar19 & 7) == 0) {
                        if (local_90[3] == (undefined *)0x0) {
                          cVar8 = *(code *)((int)local_90 + 0x2b);
                          if (((byte)cVar8 & 0x20) != 0) goto LAB_0009d63d;
                        }
                        else {
                          cVar8 = *(code *)((int)local_90 + 0x2b);
                        }
                        if ((char)cVar8 < '\0') goto LAB_0009d900;
                      }
                      else {
                        if (bVar24 == 4) goto LAB_0009d63d;
                        if ((char)*(code *)((int)local_90 + 0x2b) < '\0') goto LAB_0009d6b0;
                      }
                      ppuVar20 = local_94 + 0x1f2;
                      goto LAB_0009d779;
                    }
                    goto LAB_0009d970;
                  }
LAB_0009d2df:
                  bVar18 = (byte)cVar19 & 7;
                  cVar19 = *(code *)((int)local_90 + 0x29);
                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);
                  bVar24 = (byte)cVar19 & 3;
                  if (((byte)cVar19 & 3) == 0) goto LAB_0009d380;
LAB_0009d2fb:
                  if ((local_90[3] == (undefined *)0x0) &&
                     (((byte)*(code *)((int)local_90 + 0x2b) & 0x20) != 0)) {
                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));
                    bVar16 = (byte)*(code *)(local_90 + 10) >> 4;
                    ppuVar17 = (undefined **)(uint)bVar16;
                    if ((bVar16 != 2) && (ppuVar17 = local_90, ((uint)local_90[0xb] & 2) == 0))
                    goto LAB_0009d701;
                  }
LAB_0009d312:
                  if ((local_90[2][0x2c] & 1) != 0) {
LAB_0009d321:
                    if (bVar24 == 2) {
                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca5d;
                      *(undefined4 *)(puVar22 + -0x14) = 0x9e2b5;
                      uVar15 = gettext();
                    }
                    else if (bVar24 < 3) {
                      if (bVar24 != 1) {
LAB_0009f3a6:
                        *(undefined ***)(puVar22 + -4) = ppuVar17;
                        *(undefined ***)(puVar22 + -8) = local_94 + -0x64fbc;
                        *(undefined4 *)(puVar22 + -0xc) = 0xa4;
                        *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19cb27;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f3c0 to 0009f3c4 has its CatchHandler @ 0009f542 */
                        *(undefined4 *)(puVar22 + -0x14) = 0x9f3c5;
                        FUN_002446e0();
                      }
                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca66;
                      *(undefined4 *)(puVar22 + -0x14) = 0x9d99d;
                      uVar15 = gettext();
                    }
                    else {
                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x19ca56;
                      *(undefined4 *)(puVar22 + -0x14) = 0x9d344;
                      uVar15 = gettext();
                    }
                    puVar3 = *local_90;
                    *(undefined ***)(puVar22 + -0x10) = local_94 + -0x67173;
                    *(undefined4 *)(puVar22 + -0x14) = 0x9d368;
                    uVar10 = gettext();
                    *(undefined **)(puVar22 + -8) = puVar3;
                    *(undefined4 *)(puVar22 + -0xc) = uVar15;
                    *(undefined4 *)(puVar22 + -0x10) = uVar10;
                    /* try { // try from 0009d374 to 0009d378 has its CatchHandler @ 0009f542 */
                    *(undefined4 *)(puVar22 + -0x14) = 0x9d379;
                    FUN_0023b810();
                  }
                  goto LAB_0009d380;
                }
LAB_0009d63d:
                local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));
                if (((byte)*(code *)(local_90 + 10) >> 4 == 2) || (((uint)local_90[0xb] & 2) != 0))
                {
LAB_0009d970:
                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));
                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;
LAB_0009d943:
                  if (bVar24 == 0) goto LAB_0009d380;
                  cVar19 = *(code *)((int)local_90 + 0x2a);
                  ppuVar17 = (undefined **)(uint)(byte)cVar19;
                  local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar19);
                  bVar18 = (byte)cVar19 & 7;
                  if (bVar18 != 0) goto LAB_0009d6cc;
                  goto LAB_0009d2fb;
                }
                ppuVar20 = local_94 + 0x1f2;
                if (*(int *)(*ppuVar20 + 8) == 0) {
                  *(undefined4 *)(puVar22 + -4) = 0;
                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;
                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;
                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f442 to 0009f446 has its CatchHandler @ 0009f542 */
                  *(undefined4 *)(puVar22 + -0x14) = 0x9f447;
                  FUN_002446e0();
                }
                if (*(char *)(*(int *)(*ppuVar20 + 8) + 0x49b1) != '\0') goto LAB_0009d970;
                if ((char)*(code *)((int)local_90 + 0x2b) < '\0') {
                  if (bVar24 != 0) goto LAB_0009d6b0;
                  ppuVar20 = local_94 + -0x15e4b4;
LAB_0009d900:
                  ppuVar17 = (undefined **)local_90[2];
                  ppuVar2 = *(undefined ***)(*ppuVar17 + 0x14);
                  if (ppuVar2 == ppuVar20) goto LAB_0009d2df;
                  *(undefined ***)(puVar22 + -0x10) = ppuVar17;
                  *(undefined4 *)(puVar22 + -0x14) = 0x9d91c;
                  iVar11 = (*(code *)ppuVar2)();
                  ppuVar20 = local_e0;
                  if (iVar11 != 0) goto LAB_0009d779;
LAB_0009d930:
                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));
                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;
                  goto LAB_0009d943;
                }
LAB_0009d779:
                piVar4 = *(int **)(*ppuVar20 + 0xc);
                if (piVar4 == (int *)0x0) {
                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64fb7;
                  *(undefined4 *)(puVar22 + -0xc) = 0x69;
                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f331 to 0009f335 has its CatchHandler @ 0009f542 */
                  *(undefined4 *)(puVar22 + -0x14) = 0x9f336;
                  FUN_002446e0();
                }
                iVar11 = *piVar4;
                *(undefined ***)(puVar22 + -0xc) = local_90;
                *(int **)(puVar22 + -0x10) = piVar4;
                pcVar1 = *(code **)(iVar11 + 0x1c);
                *(undefined4 *)(puVar22 + -0x14) = 0x9d795;
                cVar7 = (*pcVar1)();
                if (cVar7 != '\0') goto LAB_0009d930;
                ppuVar20 = *(undefined ***)(*ppuVar20 + 8);
                if (ppuVar20 == (undefined **)0x0) {
                  *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;
                  *(undefined4 *)(puVar22 + -0xc) = 0x5c;
                  *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f393 to 0009f397 has its CatchHandler @ 0009f542 */
                  *(undefined4 *)(puVar22 + -0x14) = 0x9f398;
                  FUN_002446e0();
                }
                pbVar21 = ppuVar20[0x10b9];
                bVar26 = false;
                bVar28 = pbVar21 == (byte *)0x0;
                if (bVar28) {
                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));
                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;
LAB_0009d85a:
                  if ((bVar24 == 2) ||
                     ((*(code *)((int)ppuVar20 + 0x1a25) == (code)0x0 ||
                      (*(code *)((int)ppuVar20 + 0x4eb5) != (code)0x0)))) goto LAB_0009d874;
                  goto LAB_0009d943;
                }
                iVar11 = 0xb;
                pbVar13 = pbVar21;
                pbVar25 = (byte *)((int)local_94 + -0x1a1fa6);
                do {
                  if (iVar11 == 0) break;
                  iVar11 = iVar11 + -1;
                  bVar26 = *pbVar13 < *pbVar25;
                  bVar28 = *pbVar13 == *pbVar25;
                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;
                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;
                } while (bVar28);
                bVar27 = false;
                bVar26 = (!bVar26 && !bVar28) == bVar26;
                if (bVar26) goto LAB_0009d930;
                iVar11 = 0xb;
                pbVar13 = pbVar21;
                pbVar25 = (byte *)((int)local_94 + -0x1a1f9b);
                do {
                  if (iVar11 == 0) break;
                  iVar11 = iVar11 + -1;
                  bVar27 = *pbVar13 < *pbVar25;
                  bVar26 = *pbVar13 == *pbVar25;
                  pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;
                  pbVar25 = pbVar25 + (uint)bVar29 * -2 + 1;
                } while (bVar26);
                bVar28 = false;
                bVar26 = (!bVar27 && !bVar26) == bVar27;
                if (!bVar26) {
                  iVar11 = 0x17;
                  pbVar13 = pbVar21;
                  ppuVar17 = local_94 + -0x687e4;
                  do {
                    if (iVar11 == 0) break;
                    iVar11 = iVar11 + -1;
                    bVar28 = *pbVar13 < *(byte *)ppuVar17;
                    bVar26 = *pbVar13 == *(byte *)ppuVar17;
                    pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;
                    ppuVar17 = (undefined **)((int)ppuVar17 + (uint)bVar29 * -2 + 1);
                  } while (bVar26);
                  local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)((int)local_90 + 0x29));
                  bVar24 = (byte)*(code *)((int)local_90 + 0x29) & 3;
                  bVar26 = (!bVar28 && !bVar26) == bVar28;
                  if ((!bVar26) ||
                     (bVar26 = ((byte)*(code *)((int)local_90 + 0x2b) & 1) == 0, !bVar26)) {
                    bVar28 = false;
                    iVar11 = 0x16;
                    pbVar13 = (byte *)((int)local_94 + -0x1a1f79);
                    do {
                      if (iVar11 == 0) break;
                      iVar11 = iVar11 + -1;
                      bVar28 = *pbVar21 < *pbVar13;
                      bVar26 = *pbVar21 == *pbVar13;
                      pbVar21 = pbVar21 + (uint)bVar29 * -2 + 1;
                      pbVar13 = pbVar13 + (uint)bVar29 * -2 + 1;
                    } while (bVar26);
                    if (((!bVar28 && !bVar26) != bVar28) ||
                       ((char)*(code *)((int)local_90 + 0x2a) < '\0')) goto LAB_0009d85a;
                  }
                  goto LAB_0009d943;
                }
LAB_0009d874:
                *(int *)(puVar22 + -0x10) = (int)local_c4 >> 0x1f;
                *(uint *)(puVar22 + -0x14) = local_c4;
                *(int *)(puVar22 + -0x18) = local_b4;
                *(undefined4 **)(puVar22 + -0x1c) = param_2;
                *(undefined ***)(puVar22 + -0x20) = local_90;
                *(undefined4 *)(puVar22 + -0x24) = 0x9d89a;
                FUN_0023c700();
                cVar19 = *(code *)((int)local_90 + 0x2b);
                ppuVar17 = local_90;
              }
              else {
                if (bVar24 == 4) goto LAB_0009d63d;
LAB_0009d6b0:
                cVar8 = *(code *)((int)local_90 + 0x29);
                local_9c = (byte **)CONCAT31(local_9c._1_3_,cVar8);
                bVar24 = (byte)cVar8 & 3;
                if (((byte)cVar8 & 3) != 0) {
                  bVar18 = (byte)cVar19 & 7;
LAB_0009d6cc:
                  if (bVar18 == 4) {
                    local_9c = (byte **)CONCAT31(local_9c._1_3_,*(code *)(local_90 + 10));
                    if (((byte)*(code *)(local_90 + 10) >> 4 == 2) ||
                       (bVar18 = 4, ((uint)local_90[0xb] & 2) != 0)) goto LAB_0009d380;
LAB_0009d701:
                    ppuVar17 = *(undefined ***)(*local_dc + 8);
                    if (ppuVar17 == (undefined **)0x0) {
                      *(undefined ***)(puVar22 + -4) = ppuVar20;
                      *(undefined ***)(puVar22 + -8) = local_94 + -0x64ebf;
                      *(undefined4 *)(puVar22 + -0xc) = 0x5c;
                      *(int *)(puVar22 + -0x10) = (int)local_94 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009f16c to 0009f170 has its CatchHandler @ 0009f542 */
                      *(undefined **)(puVar22 + -0x14) = &UNK_0009f171;
                      FUN_002446e0();
                    }
                    if (*(code *)((int)ppuVar17 + 0x49b1) == (code)0x0) goto LAB_0009d321;
                    if (bVar18 == 0) goto LAB_0009d312;
                  }
                }
LAB_0009d380:
                cVar19 = *(code *)((int)local_90 + 0x2b);
                ppuVar17 = local_90;
              }
              local_90 = ppuVar17;
              if (((byte)cVar19 & 4) != 0) {
                *(int *)(puVar22 + -0xc) = (int)local_c4 >> 0x1f;
                *(uint *)(puVar22 + -0x10) = local_c4;
                *(int *)(puVar22 + -0x14) = local_b4;
                local_90 = (undefined **)*param_2;
                *(undefined4 **)(puVar22 + -0x18) = param_2;
                *(undefined ***)(puVar22 + -0x1c) = ppuVar17;
                *(undefined ***)(puVar22 + -0x20) = local_90 + 0x40;
                *(undefined4 *)(puVar22 + -0x24) = 0x9d8e4;
                FUN_003509b0();
              }
            }
          }
          else {
LAB_0009dd10:
            local_78 = param_4;
            if (local_b8 != 0x3a) {
              *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;
              *(undefined4 *)(puVar22 + -0x14) = 0x9dd30;
              uVar15 = gettext();
              uVar9 = *local_78;
              *(undefined4 *)(puVar22 + -0x10) = uVar15;
              *(undefined4 *)(puVar22 + -0x14) = 0;
              *(uint *)(puVar22 + -0x18) =
                   uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;
              *(int *)(puVar22 + -0x1c) = local_b4;
              *(undefined4 **)(puVar22 + -0x20) = param_2;
              *(undefined4 *)(puVar22 + -0x24) = 0x9dd4e;
              FUN_0023be30();
              goto LAB_0009cdf2;
            }
            local_74 = '\0';
          }
        }
        *(byte ***)(puVar22 + -0x10) = local_d0;
        *(undefined4 *)(puVar22 + -0x14) = 0x9d39e;
        FUN_00072240();
        *(byte ***)(puVar22 + -0x10) = local_bc;
        *(undefined4 *)(puVar22 + -0x14) = 0x9d3aa;
        FUN_00072240();
      }
      else {
        *(uint *)(puVar22 + -4) = local_c4;
        *(undefined4 *)(puVar22 + -8) = param_2[6];
        *(undefined4 *)(puVar22 + -0xc) = param_2[2];
        *(undefined4 *)(puVar22 + -0x10) = param_6;
                    /* try { // try from 0009dff3 to 0009dff7 has its CatchHandler @ 0009f51d */
        *(undefined4 *)(puVar22 + -0x14) = 0x9dff8;
        local_c4 = FUN_002cda80();
        if (local_c4 != 0xffffffff) goto LAB_0009cc8a;
      }
      local_b4 = local_b4 + 1;
      param_4 = param_4 + 3;
      puVar6 = puVar22;
    } while (param_5 != local_b4);
  }
  if (local_74 == '\0') {
    return;
  }
  *(undefined ***)(puVar22 + -0x10) = local_94 + -0x671be;
  *(undefined4 *)(puVar22 + -0x14) = 0x9f087;
  uVar15 = gettext();
  *(undefined4 *)(puVar22 + -0x10) = uVar15;
  *(undefined4 *)(puVar22 + -0x14) = 0x9f08f;
  FUN_0023b810();
  return;
}

